このセクションでは、アプリケーション・ビルダーを使用してアプリケーションおよびアプリケーション・コンポーネントを構築する方法について説明します。アプリケーションの作成ステップ、ページの追加ステップ、およびコンポーネント(レポート、チャートまたはフォーム)、ページ・コントロール(ボタン、アイテムまたはLOV)および共有コンポーネント(メニュー、リストまたはタブ)の追加ステップについて説明します。
内容は次のとおりです。
アプリケーションは、共通のセッション・ステートおよび認証を共有するページのコレクションです。 Oracle HTML DBで新しいアプリケーションを作成するには、ウィザードを使用します。アプリケーションの削除は、アプリケーション・ビルダーのホームページから行います。
このセクションの構成は次のとおりです。
アプリケーション・ビルダーのホームページで「作成」をクリックする場合は、次のいずれかのオプションを選択する必要があります。
アプリケーションの作成: SQL問合せまたはデータベース表に基づいてアプリケーションを作成します。空白ページを定義したり、レポート、フォーム、表形式フォームまたはフォームがリンクされたレポートを含むページを定義できます。 「「アプリケーションの作成」ウィザード」を参照してください。
スプレッドシートからアプリケーションの作成: スプレッドシート・データに基づいてアプリケーションを作成します。スプレッドシート・データをアップロードまたは貼り付けて表を作成してから、ユーザー・インタフェースを追加することができます。作成されるアプリケーションで、ユーザーは問合せの作成や、レコードの追加、挿入または更新、データの分析を実行できます。 「「スプレッドシートからアプリケーションの作成」ウィザード」を参照してください。
デモンストレーション・アプリケーション: デモンストレーション・アプリケーションをインストールまたはアンインストールします。デモンストレーション・アプリケーションを使用してアプリケーションの構築方法を学習してください。 「デモンストレーション・アプリケーション」を参照してください。
「アプリケーションの作成」ウィザードを使用すると、任意の数の表に基づいて、完全に機能するアプリケーションを作成できます。 「アプリケーションの作成」ウィザードでは、空白のページ、あるいはSQL問合せまたはデータベース表に基づくページを作成できます。 SQL問合せは、SQLを手動で入力するか、クエリー・ビルダーのGraphical User Interfaceを使用して作成できます。 表に基づくアプリケーションには、単純なレポート、フォームおよびレポートまたは表形式フォームを含めることができます。 表にページを作成する場合は、分析ページを生成するオプションが表示されます。 分析ページは、単純なレポートまたはフォーム上のレポートを拡張して、複数のドリルダウン・レポートおよびチャートを含めます。
このセクションの構成は次のとおりです。
表、問合せまたはドリルダウン問合せに基づいてアプリケーションを作成するには、「アプリケーションの作成」ウィザードで「アプリケーションの作成」を選択します。
表、問合せまたはドリルダウン問合せに基づいてアプリケーションを作成するには、次のステップを実行します。
「作業領域」ホームページで「アプリケーション・ビルダー」アイコンをクリックします。
「作成」ボタンをクリックします。
「アプリケーションの作成」を選択して、「次へ」をクリックします。
基本的なアプリケーション詳細を入力して、「次へ」をクリックします。
名前: アプリケーションを識別するための名前を入力します。
アプリケーション: アプリケーションを識別するための一意の整数値を入力します。
アプリケーションの作成: 作成方法を選択します。
最初から: ページを手動で追加できます。
既存のアプリケーション設定モデルに基づく: 以前のアプリケーション・モデルからページ定義をコピーできます。
他のすべてのアプリケーション属性を定義する必要があることに注意してください。また、一部の属性は、別のアプリケーションから共有コンポーネントをコピーすることによってコピーすることもできます(ステップ7を参照)。
スキーマ: アプリケーションは、すべてのSQLを特定のデータベース・スキーマとして解析することで、権限を取得します。データベース・スキーマ所有者を指定します。
使用可能なスキーマのリストは、ユーザーの作業領域に関連付けられているスキーマに限定されていることに注意してください。
次に、ページをアプリケーションに追加します。
「ページの追加」で、次のステップを実行します。
追加するページのタイプを選択します。オプションは次のとおりです。
空白: 組込み機能のないページを作成します。
レポート: SQL問合せの書式設定された結果を含むページを作成します。選択した表に基づいてレポートを作成するか、カスタムSQL SELECT文または指定したSQL SELECT文を戻すPL/SQLファンクションに基づいてレポートを作成するかを選択できます。
フォーム: データベース表の単一行を更新するフォームを作成します。
表形式フォーム: データベース表の複数の行に対して更新、挿入および削除を行うフォームを作成します。
レポートとフォーム: 2ページのレポートとフォームの組合せを構築します。1ページ目では、更新する行を選択します。2ページ目では、新しいレコードを追加するか、あるいは既存のレコードの更新または削除を行うことができます。
アクション :現在選択されているページ・タイプを表示します。選択するたびに、様々なタイプの情報を求めるプロンプトが表示されます。
レポート・ページには、「分析ページを含む」チェック・ボックスが含まれます。 単純なレポートまたはフォーム上のレポートを拡張して複数のドリルダウン・レポートおよびチャートを含めるには、このオプションを選択し、ウィザードのプロンプトに従います。
「ページの追加」をクリックします。
ページがページ上部に表示されます。ページを削除するには、「削除」アイコンをクリックします。
すべてのページが追加されるまで前のステップを繰り返します。
「次へ」をクリックします。
アプリケーションにタブを含めるかどうかを決定し、「次へ」をクリックします。
別のアプリケーションから共有コンポーネントをインポートするかどうかを決定します。共有コンポーネントは、アプリケーション内のすべてのページに表示または適用される共通の要素です。
共有コンポーネントを含めるには、次のステップを実行します。
ソース・アプリケーションから、共有コンポーネントのインポート元となるアプリケーションを選択します。
「インポートするコンポーネントの選択」から、インポートするコンポーネントを選択します。
「次へ」をクリックします。
次の認証およびグローバリゼーション・プリファレンスを選択します。
デフォルトの認証スキーム: デフォルトで使用する認証スキームを指定します。
認証は、ユーザーがアプリケーションにアクセスする前に、そのユーザーの本人確認を行うプロセスです。
言語: このアプリケーションのプライマリ言語を選択します。
アプリケーションを開発する言語をこの属性で指定します。この言語が、すべての変換の元となるベース言語になります。
ユーザー言語プリファレンスの派生元: エンジンによるアプリケーション言語の決定方法を指定します。アプリケーションのプライマリ言語は静的にする(Webブラウザの言語から派生される)か、またはユーザー・プリファレンスまたはアイテムから判別されるようにできます。データベース言語の設定では、日付の表示とソート特性を決定します。
「次へ」をクリックします。
テーマを選択して、「次へ」をクリックします。
テーマは、アプリケーション全体のレイアウトおよびスタイルの定義に使用できるテンプレートのコレクションです。
選択内容を確認します。前のウィザード・ページに戻るには、「戻る」をクリックします。選択内容を受け入れるには、「終了」をクリックします。
「アプリケーションの作成」ウィザードは、開発者がこのウィザードを繰り返し実行するという前提で設計されています。 この反復的なアプリケーション開発方法を容易にするため、このウィザードを実行するたびに、ページ定義がアプリケーション・モデルに保存されます。
次に例を示します。 「アプリケーションの作成」ウィザードを実行して新しいアプリケーションを作成します。 このアプリケーションを表示した後、それが予測どおりでないことがわかります。 アプリケーションを変更するかわりに、再度ウィザードを実行してアプリケーション・モデルを選択します。 既存のアプリケーション・モデルを選択することで、最小の時間と労力でアプリケーションを迅速に改善できます。
アプリケーションを作成する場合の生産性を向上させるもう1つの方法は、ユーザー・インタフェースのデフォルト値を指定することです。 ユーザー・インタフェースのデフォルト値は、指定したスキーマ内の表、列またはビューにデフォルトのユーザー・インタフェースのプロパティを割り当てることを可能にするメタデータです。
アプリケーションを作成する場合は、アプリケーション・モデルとユーザー・インタフェースのデフォルト値を利用して生産性を高めることができます。 次に使用例を示します。
「アプリケーションの作成」ウィザードを実行して、表またはビューに基づいてアプリケーションを作成します。
生成されたアプリケーションを実行します。 機能上の欠陥に注意します。
ユーザー・インタフェースのデフォルト値を作成または編集するかどうか判断します。
たとえば、ユーザー・インタフェースのデフォルト値を使用して、フォーム・フィールドまたはレポート・ラベルの表示方法を制御できます。 また、ユーザー・インタフェースのデフォルト値を使用して、特定の列を表示するか、列を別の順序で表示することもできます。
アプリケーションのホームページにナビゲートし、「作成」をクリックして新しいアプリケーションを作成します。
アプリケーションの作成を選択します。
アプリケーションの詳細を入力するように求められたら、次のように指定します。
名前: アプリケーションを識別するための名前を入力します。
アプリケーション: アプリケーションを識別するための一意の整数値を入力するか、デフォルト値を受け入れます。
アプリケーションの作成: 「既存のアプリケーション設定モデルに基づく」を選択します。
アプリケーション・モデルを選択します。
以前に作成したページがすでに表示されていることに注意してください。
ページの追加、編集または削除を行います。
ウィザードを完了します。
アプリケーションが機能上の要件を満たすまでステップ2から9を繰り返します。
スプレッドシート・データに基づいてアプリケーションを作成するには、「アプリケーションの作成」ウィザードで「スプレッドシートからアプリケーションの作成」を選択します。
スプレッドシート・データからアプリケーションを作成するには、次のステップを実行します。
「作業領域」ホームページで「アプリケーション・ビルダー」アイコンをクリックします。
「作成」ボタンをクリックします。
「スプレッドシートからアプリケーションの作成」を選択します。
スプレッドシート・データのアップロード方法を指定し、「次へ」をクリックします。オプションは次のとおりです。
ファイルをアップロード(カンマ区切りまたはタブ区切り)
コピー・アンド・ペースト(最大30KB)
表の表示方法のプレビューを確認し、「次へ」をクリックします。表名、列名またはデータ型の変更や、含める列の指定を実行できます。
表示された単数形の名前を確認し、複数形の名前を入力します。
「列のユーザー・インタフェースのデフォルト値」はデフォルト・ラベル名を表示します。
(オプション)「列のユーザー・インタフェースのデフォルト値」で、表示されたラベル名を編集し、「次へ」をクリックします。
「列別のサマリー」で、レポートおよびチャートでデータのサマリーを表示する列を選択し、「次へ」をクリックします。
このウィザードでは、複数のサマリー・レポートが作成されます。サマリー・レポートで値が集計される列を選択します。
列別の集計: データのサマリーまたは平均を表示する列を1つ以上選択します。
使用する集計関数: レポートで使用する集計関数(合計または平均)を選択します。
「次へ」をクリックします。
アプリケーション・オプションを選択します。
アプリケーション名: このアプリケーションの名前を英数字で入力します。
作成モードを指定します。
読み書き両用: ページの挿入および更新が含まれます。
読取り専用: ページの挿入および更新は含まれません。
チャート・タイプを選択します。
「次へ」をクリックします。
テーマを選択して、「次へ」をクリックします。
テーマは、アプリケーション全体のレイアウトおよびスタイルの定義に使用できるテンプレートのコレクションです。
選択内容を確認します。前のウィザード・ページに戻るには、「戻る」をクリックします。選択内容を受け入れるには、「作成」をクリックします。
Oracle HTML DBとともに多くのデモンストレーション・アプリケーションがインストールされます。これらのアプリケーションを使用して、アプリケーションに組み込むことができる多様な機能について学習してください。
デモンストレーション・アプリケーションにアクセスするには、次のステップを実行します。
「作業領域」ホームページで「アプリケーション・ビルダー」アイコンをクリックします。
「作成」ボタンをクリックします。
「デモンストレーション・アプリケーション」を選択します。
デモンストレーション・アプリケーションをインストールするには、インストールするアプリケーションが表示されるまでスクロールして、「インストール」をクリックします。
ステータスとして「インストール済」が表示されます。
インストールしたデモンストレーション・アプリケーションを編集するには、「編集」をクリックします。
インストールしたデモンストレーション・アプリケーションを実行するには、「実行」をクリックします。
デモンストレーション・アプリケーションを再インストールするには、「再インストール」をクリックします。
アプリケーションの削除は、アプリケーション・ビルダー内から行うことができます。または、アプリケーション属性の編集中にも削除できます。アプリケーションを削除すると、定義されたコンポーネント(レポート、チャートまたはフォーム)、ページ・コントロール(ボタン、アイテムまたはLOV)および共有コンポーネント(ブレッドクラム、リストおよびタブ、ただし、ユーザー・インタフェースのデフォルト値を除く)もすべて削除されます。
このセクションの構成は次のとおりです。
アプリケーション・ビルダーからアプリケーションを削除するには、次のステップを実行します。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
アプリケーション・ビルダーが表示されたら、ページ上部のアプリケーションIDおよびアプリケーション名を確認します。
「タスク」リストから「このアプリケーションの削除」を選択します。
画面に表示されるステップに従います。
新しいページを追加したり、既存のページにコンポーネントを追加するには、「ページの作成」ウィザードを実行します。このウィザードにアクセスする方法を次に示します。
アプリケーションのホームページで「ページの作成」をクリックする
「ページ定義」で「作成」をクリックする
「開発者」ツールバーで「Create」リンクを選択する
注意: 「ページの作成」ウィザードを使用して、既存のページにコンポーネント(レポート、チャート、フォーム、ウィザード、カレンダまたはツリー)を追加することもできます。プロンプトが表示されたら、既存のページIDを指定します。 |
このセクションの構成は次のとおりです。
アプリケーションのホームページから新しいページを作成するには、次のステップを実行します。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
アプリケーションのホームページが表示されます。
「ページの作成」をクリックします。
作成するページのタイプを選択します。
空白ページ
複数の空白ページ
レポート
チャート
フォーム
ウィザード
カレンダ
ツリー
ログイン・ページ
画面に表示されるステップに従います。
ページ定義の表示中に新しいページを作成するには、次のステップを実行します。
該当するページ定義にナビゲートします。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
ページを選択します。
ページ定義が表示されます。
ページ上部の「ナビゲーション」バーから「作成」ボタンをクリックします。
作成するページのタイプを選択します。
新しいページ
このページのリージョン
このページのページ・コントロール
共有コントロール
表6-1に、選択するページ・タイプに基づいて選択可能な様々な項目を示します。
表6-1 「ページの作成」オプション
「ページの作成」オプション | 選択可能な項目 |
---|---|
新しいページ | 使用可能なページ・タイプ:
|
このページのリージョン | リージョンはコンテンツのコンテナとして機能します。使用可能なリージョン・タイプ:
|
このページのページ・コントロール | ページ・コントロール:
|
共有コントロール | 共有コンポーネント・オプション:
|
画面に表示されるステップに従います。
開発者権限でOracle HTML DBにログインすると、「開発者」ツールバーにアクセスできます。「開発者」ツールバーは各ページの下部に表示され、これを使用すると新しいページをすばやく作成できます。
「開発者」ツールバーから新しいページを作成するには、次のステップを実行します。
「開発者」ツールバーで「Create」を選択します。
作成するコンポーネントのタイプを選択し、「次へ」をクリックします。使用可能なオプションは次のとおりです。
新しいページ
このページのリージョン
このページのページ・コントロール
共有コントロール
表6-1に、選択するページ・タイプに基づいて選択可能な様々な項目を示します。
画面に表示されるステップに従います。
HTML DBエンジンは、データベース表に格納されたデータに基づいて、ページを動的にレンダリングおよび処理します。レンダリングされたアプリケーションを表示するには、アプリケーションを実行するか、またはHTML DBエンジンに送信します。新しいページを作成したら、そのページを個別に実行するか、またはアプリケーション全体を実行できます。アプリケーションを実行するには、「アプリケーションの実行」アイコンをクリックします。
このセクションの構成は次のとおりです。
「アプリケーションの実行」アイコンは、信号機に似ています。色付きの大きい「アプリケーションの実行」アイコンがアプリケーションのホームページに表示されます。
アプリケーション・ビルダー内の多くのページにも、「実行」アイコンが薄緑色の小さいアイコンとして表示されます。この小さい「実行」アイコンをクリックすると、コンテキストに応じてカレント・アプリケーションまたは個々のページが実行されます。たとえば、アプリケーションのホームページの「実行」アイコンをクリックすると、アプリケーション全体が実行されます。「ページ定義」のアイコンをクリックすると、カレント・ページが実行されます。
アプリケーション・ビルダーのホームページからアプリケーション全体を実行するには、次のステップを実行します。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
「ビュー」リストから「詳細」を選択し、「実行」をクリックします。
「アプリケーション」リストからアプリケーションを指定します。
右側の列にある「実行」アイコンをクリックします。
アプリケーションのホームページからアプリケーションを実行するには、次のステップを実行します。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーション・ビルダーのホームページが表示されます。
アプリケーションを選択します。
「実行」アイコンをクリックします。
「ページ」リストからページを実行するには、次のステップを実行します。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
「ビュー」リストから「詳細」を選択し、「実行」をクリックします。
実行するページを「ページ」リストから指定して、右側の列にある「実行」アイコンをクリックします。
ページ・グループを使用して、アプリケーション内のページを構成および管理します。ページ・グループを使用するには、グループを作成して、そのグループにページを割り当てます。
ページ・グループには、開発者がアプリケーション内のページを編成する場合に有効な機能以外の機能はありません。
ページをページ・グループとして編成すると、アプリケーション内のページに簡単にアクセスできるようになります。
このセクションの構成は次のとおりです。
「ページ・グループ」レポートには、グループに対するアプリケーション内のページの割当て状況(割当て済または未割当て)を示す包括的なリストが表示されます。
ページ・グループを作成するには、次のステップを実行します。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
ページの右側の「タスク」リストから、「ページ・グループの管理」を選択します。
「ページ・グループ」ページで、「作成」をクリックします。
名前および説明(オプション)を入力して、「作成」をクリックします。
ページをページ・グループに割り当てるには、次のステップを実行します。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
ページの右側の「タスク」リストから、「ページ・グループの管理」を選択します。
「タスク」リストから「割り当てられていないページのレポート」を選択します。
「割り当てられていないページ」ページが表示されます。
「ページ・グループ」から、ページを割り当てるグループを選択します。
割り当てるページを選択します。
「チェックした項目を割当て」をクリックします。
ページIDを選択すると、「ページ属性」ページが表示されます。「ページ名」を選択すると、ページ定義にリンクします。
アプリケーション開発中の競合を回避するには、アプリケーション内のページをロックします。ページをロックすると、他の開発者がページを編集できなくなります。
このセクションの構成は次のとおりです。
「ロック」アイコンは、ページが現在ロックされているかどうかを示します。ページのロックが解除されている場合、アイコンは鍵が開いた南京錠として表示されます。ページがロックされている場合、アイコンは鍵が掛かった南京錠として表示されます。次のページに「ロック」アイコンが表示されます。
アプリケーションのホームページ。「表示」リストから「詳細」を選択します。ページのリストが表示されます。「ロック」列の下に「ロック」アイコンが表示されます。
ページ定義。ページの右側、ブレッドクラム・メニューの反対側に「ロック」アイコンが表示されます。
「ページ・ロック」ページ、「ページ」リストおよびページ定義からページをロックできます。
アプリケーションのページをロックするには、次のステップを実行します。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
ページの右側の「タスク」リストから、「ページ・ロックの管理」を選択します。
該当するページを選択して、「ロックを選択済」をクリックします。
「コメント」フィールドにコメントを入力します。
「ページのロック」をクリックします。
「ページ」リストからページをロックするには、次のステップを実行します。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
「ビュー」リストから「詳細」を選択し、「実行」をクリックします。
「ページ」リストで、ロックするページを指定して、「ロック」アイコンをクリックします。
「コメント」フィールドにコメントを入力します。
「ページのロック」をクリックします。
ページをロックした開発者のみが、そのページのロックを解除できます。ただし、管理権限を持つ開発者は、他の開発者がロックしたページのロックを解除できます。
作業領域管理者としてページのロックを解除するには、次のステップを実行します。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
ページの右側の「タスク」リストから、「ロックの管理」を選択します。
ロック解除するページを選択して、「ページのロック解除」をクリックします。
ページ定義からページのロックを解除するには、次のステップを実行します。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
ページの右側の「タスク」リストから、「ページ・ロックの管理」を選択します。
該当するページを選択します。
「ロック解除を選択済」をクリックします。
「ページ」リストからページのロックを解除するには、次のステップを実行します。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
「ビュー」リストから「詳細」を選択し、「実行」をクリックします。
「ページ」リストで、ロック解除するページを指定して、「ロック」アイコンをクリックします。
「ロック・コメントの編集」ページが表示されます。
「ロック解除」をクリックします。
「ロックされたページ」ページでは、ロックされたページの多数の様々なビューにアクセスできます。
ロックされたページの別のビューにアクセスするには、次のステップを実行します。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
ページの右側の「タスク」リストから、「ページ・ロックの管理」を選択します。
「タスク」リストから、次のいずれかを選択します。
ロックされたページの表示: カレント・アプリケーションのロックされたページのみを表示します。
すべてのページの表示: カレント・アプリケーションのすべてのページを表示します。
ロック解除されたページの表示: カレント・アプリケーションのロックが解除されたページのみを表示します。
ロックの管理: 開発者によってロックされたページを、作業領域管理者によってロック解除できるようにします。
Oracle HTML DBでは、レポートとは、SQL問合せの結果の書式を設定したものです。レポートの生成は、組込み問合せを選択して実行するか、またはSQL問合せに基づくレポート・リージョンを定義して行うことができます。
このセクションの構成は次のとおりです。
Oracle HTML DBには、レポートを生成するための多くの組込みウィザードが含まれています。
ウィザードを使用してレポートを作成するには、次のステップを実行します。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
「ページの作成」をクリックします。
「レポート」を選択します。
次のいずれかのレポート・タイプを選択します。
ウィザード・レポート: SQLの知識は必要ありません。適切なスキーマ、表、列および結果セット表示を選択します。
SQLレポート: カスタムSQL SELECT文または指定したSQL SELECT文を戻すPL/SQLファンクションに基づいてレポートを作成します。
画面に表示されるステップに従います。
「レポート属性」ページおよび「列属性」ページを使用すると、レポート・ページの定義を詳細に制御できます。たとえば、これらの属性を使用して、列ヘッダー・テキストの変更、列の位置の変更、列の非表示化、列の合計の作成、またはソート順序の選択を行うことができます。
ページ定義で、編集するレポート・リージョンの横にある「レポート」または「RPT」をクリックすると、「レポート属性」ページにアクセスできます。 「レポート」はレポートが通常のレポートであることを示し、「RPT」はレポートがウィザード・レポートであることを示します。また、リージョン名をクリックしてから「レポート属性」タブを選択しても、「レポート属性」ページにナビゲートできます。
「レポート属性」ページを表示するには、次のステップを実行します。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
該当するページ定義にナビゲートします。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
ページを選択します。
ページ定義が表示されます。
「リージョン」で、編集するレポート・リージョンの名前の横にある「レポート」をクリックします。
「レポート属性」ページが表示されます。
「ヘッダー・タイプ」では、レポートに対してどのようにヘッダーが生成されたかが識別されます。「列属性」セクションを使用して、レポート列の外観および機能性を制御します。「リンク」列には、現在列リンクが定義されているかどうかが示されます。「編集」列には、現在列が更新可能かどうかが示されます。
表6-2に、レポート列の一般的な編集を示します。
表6-2 レポート列の一般的な編集
説明 | 開発者の操作 |
---|---|
列の表示順序を変更します。 | 上矢印および下矢印をクリックします。 |
ヘッダーの位置合せを変更します。 | 「列の位置合せ」で、列の新しい位置を選択します。 |
列ヘッダーのテキストを変更します。 | 「ヘッダー」で、異なるヘッダー・テキストを入力します。 |
表示する列を制御します。 | 「表示」をクリックして、列を表示させるようにします。 |
一意のソート順序を有効にします。 | 「ソート」をクリックし、「ソート順序」から順序番号を選択します。
任意の数の列をソート可能にできます。ただし、1つ以上の列にソート順序が定義されている必要があります。 |
列の合計を有効にします。 | 「合計」をクリックして、列の合計を有効にします。 |
「列属性」ページで、特定の列の属性をさらに詳細に指定できます。
「列属性」ページにアクセスするには、該当する列の別名の横にある「編集」アイコンをクリックします。
特定の属性の詳細は、オンライン・ヘルプを参照してください。
レポート・ページ区切りを制御する方法を次に示します。
ページ区切り置換文字列をレポート・テンプレートに含める方法
「レポート属性」ページの「レイアウトおよびページ区切り」から選択する方法
「レポート属性」ページの「レイアウトおよびページ区切り」属性から選択することによって、ページ区切りの表示方法を制御します。
「レポート属性」ページの「レイアウトおよびページ区切り」セクションにアクセスするには、次のステップを実行します。
レポートを作成します。「ウィザードを使用したレポートの作成」を参照してください。
「リージョン」で、適切なレポート属性リンク(「レポート」または「RPT」)をクリックします。
「レポート属性」ページが表示されます。
「レイアウトおよびページ区切り」までスクロールします。
「レイアウトおよびページ区切り」属性を使用して、ページ区切りスタイルの選択、ページ区切りの表示位置の決定、ページごとに表示される行数の指定を行います。表6-3に、最も一般的に使用される「レイアウトおよびページ区切り」属性を示します。
表6-3 「レイアウトおよびページ区切り」属性
属性 | 説明 |
---|---|
レポート・テンプレート | このレポートに適用するテンプレートを指定します。レポート・テンプレートによって、SQL問合せによって戻される1行の結果が制御されます。多数のデフォルトのテンプレートから選択するか、またはカスタム作成のテンプレートを選択できます。 |
ページ区切りスキーム | このレポートにページ区切りスキームを指定します。
ページ区切りによって、結果セット内の行数および現在の位置に関する情報が提供されます。また、次のページまたは前のページへのナビゲートに使用するリンクまたはボタンのスタイルも定義されます。 詳細は、このアイテムに関するヘルプを参照してください。 |
表示位置 | ページ区切りの表示位置を定義します。
レポートの上にページ区切りを表示する場合は、選択したレポート・テンプレートで、このタイプの表示がサポートされている必要があります。 |
行数 | ページごとに表示する最大行数を定義します。 |
HTMLを削除 | HTML式および列リンクの元の列値からHTMLタグを削除するかどうかを指定します。
HTMLタグがすでに含まれているデータベースから値を選択すると、それらのタグが列リンクまたはHTML式用に生成されたHTMLと競合する可能性があります。このオプションを有効にすると、列値の実際のデータ部分のみが使用されます。 |
レポート内の行の後にページ区切りを挿入するには、次のステップを実行します。
レポートを作成します。「ウィザードを使用したレポートの作成」を参照してください。
次に、適切な「レイアウトおよびページ区切り」属性を選択します。
「レポート属性」ページにナビゲートします。
ページ定義にナビゲートします。
「リージョン」で、適切なレポート属性リンク(「レポート」または「RPT」)をクリックします。
「レポート属性」ページが表示されます。
「レイアウトおよびページ区切り」で、次の項目を選択します。
レポート・テンプレート: レポート・テンプレートを選択します(オプション)。
ページ区切りスキーム: ページ区切りスキームを選択します。
表示位置: 表示位置を選択します。
行数: ページごとに表示する行数を指定します。
「変更の適用」をクリックします。
レポート・テンプレートを編集します。
ページ定義にナビゲートします。
「テンプレート」で、レポート・テンプレート名を選択します。
「行の後」属性に#PAGINATION#
置換文字列を含めます。
「変更の適用」をクリックします。
ページを実行します。
レポート内の行の前にページ区切りを挿入するには、次のステップを実行します。
レポートを作成します。「ウィザードを使用したレポートの作成」を参照してください。
次に、適切な「レイアウトおよびページ区切り」属性を選択します。
「レポート属性」ページにナビゲートします。
ページ定義にナビゲートします。
「リージョン」で、適切なレポート属性リンク(「レポート」または「RPT」)をクリックします。
「レポート属性」ページが表示されます。
「レイアウトおよびページ区切り」で、次のステップを実行します。
レポート・テンプレート: レポート・テンプレートを選択します(オプション)。
ページ区切りスキーム: ページ区切りスキームを選択します。
表示位置: topという語が使用されている位置を選択します。
行数: ページごとに表示する行数を指定します。
「変更の適用」をクリックします。
レポート・テンプレートを編集します。
ページ定義にナビゲートします。
「テンプレート」で、レポート・テンプレート名を選択します。
「行の前」属性に#TOP_PAGINATION#
置換文字列を含めます。
「変更の適用」をクリックします。
ページを実行します。
「レポート属性」ページで列ソートを有効にできます。
列ソートを有効にするには、次のステップを実行します。
「レポート属性」ページにナビゲートします。「レポート属性の編集」を参照してください。
「レポート列属性」で、ソートする列の横にある「ソート」チェック・ボックスを選択します。
「ソート順序」から、順序番号を選択します。
「ソート順序」はオプションです。ただし、ソート可能な列が1列以上ある場合は、定義済のソート順序が1列以上で必要です。
「ソート」までスクロールします。
昇順イメージ属性および降順イメージ属性を指定するか、または「デフォルトを設定」をクリックします。
カンマ区切りファイル(.csv)としてレポートのエクスポートを可能にするレポート内のリンクを作成できます。 レポートにCSVリンクを追加するには、CSV出力オプションを有効にする必要があります。 CSV出力オプションを使用する場合は、レポート・テンプレートは重要ではありません。 CSVリンクは、CSVエクスポートの置換文字列が定義されている任意のレポート・テンプレートに含めることができます。
「CSV出力の有効化」オプションを有効にするには、次のステップを実行します。
該当する「レポート属性」ページにナビゲートします。「レポート属性の編集」を参照してください。
「レポートのエクスポート」までスクロールします。
「CSV出力の有効化」から、「はい」を選択します。
(オプション)「セパレータ」および「囲み文字」フィールドで、セパレータおよびデリミタを定義します。
デフォルトの囲み文字は、二重引用符(" ")です。デフォルトのデリミタは、カンマまたはセミコロンで、現在のNLS設定によって異なります。
「リンク・ラベル」フィールドで、リンク・テキストを入力します。このテキストは、レポートに表示されます。このテキストを使用すると、ダウンロードを起動できます。
(オプション)デフォルトのエクスポート・ファイル名を指定するには、「ファイル名」フィールドに名前を入力します。
デフォルトでは、HTML DBエンジンによって、リージョン名が取得され、該当するファイル名の拡張子(.csv
または.xml
)が追加されて、エクスポート・ファイル名が作成されます。
「変更の適用」をクリックします。
レポート・テンプレートを選択して、レポートをXMLファイルとしてエクスポートできます。
レポートをファイルとしてエクスポートするには、次のステップを実行します。
該当する「レポート属性」ページにナビゲートします。「レポート属性の編集」を参照してください。
「レイアウトおよびページ区切り」までスクロールします。
「レポート・テンプレート」リストで、「エクスポート: XML」または「エクスポート: CSV」を選択します。
「エクスポート: XML」を選択すると、HTML DBエンジンによるページのレンダリングが停止され、コンテンツがXMLファイルにダンプされます。
「変更の適用」をクリックします。
レポートからアプリケーション内の別のページまたはURLへのリンクを作成するには、「列リンク」属性を使用します。
別のページへの列リンクを作成するには、次のステップを実行します。
該当する「レポート属性」ページにナビゲートします。「レポート属性の編集」を参照してください。
「レポート列属性」で、リンクを含める列を指定します。
列名の横にある「編集」アイコンをクリックします。
「列属性」ページが表示されます。
「列リンク」までスクロールします。
別のページへの列リンクを作成するには、次のステップを実行します。
「ターゲット」で、「このアプリケーションのページ」を選択します。
(オプション)「リンク属性」で、<a href= >
タグに含める追加の列リンク属性(リンク・ターゲット、クラス、スタイルなど)を指定します。
「リンク・テキスト」で、リンクとして表示されるテキストを入力するか、イメージ・タグを指定するか、またはデフォルトのイメージのリストから選択します。
「ページ」で、ターゲット・ページIDを指定します。このページのページ区切りをリセットするには、「ページ区切りのリセット」を選択します。
「リクエスト」で、使用するリクエストを指定します。
「キャッシュの消去」で、キャッシュを消去するページ(ページID)を指定します。ページIDをカンマで区切ってリストすることによって、複数のページを指定できます。
特定のアイテムのセッション・ステートを指定するには、「名前」フィールドおよび「値」フィールドを使用します。
「変更の適用」をクリックします。
URLへの列リンクを作成するには、次のステップを実行します。
該当する「レポート属性」ページにナビゲートします。「レポート属性の編集」を参照してください。
該当する列の横にある「編集」アイコンをクリックして、「列属性」ページにアクセスします。
「列属性」ページが表示されます。
「列リンク」までスクロールします。
「列リンク」で、次のいずれかのステップを実行します。
「ターゲット・タイプ」で、「URL」を選択します。
「リンク・テキスト」で、リンクとして表示されるテキストを入力し、置換文字列を選択します。
(オプション)「リンク属性」で、<a href= >
タグに含める追加の列リンク属性(リンク・ターゲット、クラス、スタイルなど)を指定します。
「URL」で、該当するアドレスを入力します。
「変更の適用」をクリックします。
「列属性」ページの「表形式フォームの要素」属性を編集することで更新可能な列を作成できます。HTML DBエンジンは、次の場合にのみ更新を実行できることに注意してください。
複数行の更新が定義されている場合
更新済データを処理するためにPL/SQLプロセスが実装されている場合
組込み表形式フォームの要素および表示タイプを使用している場合、レポートは、「SQL問合せ(更新可能レポート)」タイプを使用して定義する必要があります。
更新可能な列属性を定義するには、次のステップを実行します。
該当する「レポート属性」ページにナビゲートします。「レポート属性の編集」を参照してください。
該当する列の横にある「編集」アイコンをクリックして、「列属性」ページにアクセスします。
「列属性」ページが表示されます。
「表形式フォームの要素」までスクロールします。
「表形式フォームの要素」で、次の選択を行います。
表示形式: 更新可能な列の型を選択します。
列を更新可能にするには、このオプションを使用します。更新は、複数行の更新が定義されている場合、または更新済データを処理するためにPL/SQLプロセスが実装されている場合にのみ実行できます。
日付ピッカーの書式マスク: 「日付ピッカー」の「表示形式」タイプを選択している場合は選択を行います。
要素の幅: フォーム・アイテムの幅を指定します。
行数: テキスト領域に適応するフォーム・アイテムの高さを指定します。
要素属性: スタイルまたは標準のフォーム要素属性を定義します。
要素オプションの属性: ラジオ・グループまたはチェック・ボックス内のアイテムのフォーム要素属性を指定します。
主キーのソース・タイプ: デフォルトのタイプを指定します。
主キーのソース: デフォルトのソースを指定します。
現在の列がMRUプロセスで定義された主キーの一部である場合は、主キーのソース・タイプおよびソースのみが表示されます。
それ以外の場合は、デフォルト値およびデフォルト・タイプが表示されます。デフォルト値およびデフォルト・タイプを使用して、マスター・ディテール・フォーム内の2つのマスター・レコード間の関係を確立するか、または新しい行にデフォルト値を設定します。
参照表の所有者: 参照される表の所有者を指定します。この属性を使用して、レポートの「ユーザー・インタフェースのデフォルト値」を作成します。
参照表名: 現行のレポート列が含まれる表またはビューを指定します。
参照列名: このレポート列が参照する列名を指定します。
「変更の適用」をクリックします。
レポート列は、LOVとしてレンダリングできます。たとえば、選択リストまたはポップアップLOVを使用して列をレンダリングできます。または、LOVに基づく読取り専用テキストとして列をレンダリングすることもできます。
この最後の方法は、表示参照値を作成する場合に効果的な手法であり、特に、更新できない通常のレポートで役立ちます。この方法を使用すると、SQL JOIN文を記述することなく、列の値を表示できます。
LOVとしてレポート列をレンダリングするには、次のステップを実行します。
該当する「レポート属性」ページにナビゲートします。「レポート属性の編集」を参照してください。
該当する列の横にある「編集」アイコンをクリックして、「列属性」ページにアクセスします。
「列属性」ページが表示されます。
「LOV」までスクロールします。
「名前付きLOV」で、LOVリポジトリから選択を行います。
LOVにNULL値を含めるには、次のステップを実行します。
「NULLの表示」で、「はい」を選択します。
「NULLテキスト」で、表示する値を指定します。
また、列には、LOVで表示されない値を格納することもできます。
LOVで表示されない値を定義するには、次のステップを実行します。
「追加値の表示」で、「はい」を選択します。
追加値は、実際の列値がLOVの一部ではない場合に使用されます。このような場合は、実際の値が表示されます。追加値を表示しない場合は、誤った値になる可能性があり、データが不適切に自動更新されます。
「NULL値」で、表示する値を指定します。
名前付きLOVを選択していない場合は、「LOV問合せ」フィールドに選択リストを表示するための問合せを入力します。
名前付きLOVを選択していない場合は、LOV問合せで選択リストを表示するための問合せを入力します。
「変更の適用」をクリックします。
認可列属性および条件列属性を使用すると、列の表示条件を制御できます。
認可を使用すると、事前定義されたユーザー権限に基づいて(レポート列などの)リソースへのアクセスを制御できます。たとえば、マネージャのみが特定のレポート列を表示できる認可スキームを作成できます。認可スキームを選択するには、まずその認可スキームを作成する必要があります。
条件とは、事前定義された条件タイプに基づいた列の表示の制御を可能にする論理単位です。条件は、「式」フィールドに入力した値に基づいて、trueまたはfalseと評価されます。
認可属性および条件属性を指定するには、次のステップを実行します。
該当する「レポート属性」ページにナビゲートします。「レポート属性の編集」を参照してください。
該当する列の横にある「編集」アイコンをクリックして、「列属性」ページにアクセスします。
「列属性」ページが表示されます。
「認可」で、「認可スキーム」リストから選択します。
「条件」で、「条件タイプ」リストから選択し、その選択に応じて、該当する「式」フィールドに式または値を入力します。
認可が正常に終了し、条件タイプの表示がtrueに評価されると、列が表示されます。
ブレーク書式属性を使用すると、出力する場合に、特定の列を繰り返すかどうか、および列のブレーク方法を制御できます。たとえば、レポートに、部門番号ごとに従業員情報を表示するとします。複数の従業員が同じ部門に所属している場合、部門番号が1回のみ表示されるように指定することによって、読みやすさを向上できます。
このタイプの列ブレークを作成するには、次のステップを実行します。
該当する「レポート属性」ページにナビゲートします。「レポート属性の編集」を参照してください。
「ブレーク書式」までスクロールします。
「ブレーク」リストから選択します。
様々なタイプのフォームをアプリケーションに含めることができます。表内の単一行のみを更新できるフォーム、または同時に複数行を更新できるフォームを含めることができます。Oracle HTML DBには、自動的にフォームを作成するために使用できる多くのウィザードが含まれていますが、手動でフォームを作成することもできます。
このセクションの構成は次のとおりです。
フォームを作成する最も簡単な方法は、ウィザードを使用することです。たとえば、表またはビューのフォーム・ウィザードでは、1つの表の1列ごとに1つのアイテムを作成します。このウィザードには、主キーを使用した表への行の挿入、表の行の更新および削除に必要なボタンおよびプロセスが含まれています。各リージョンには、定義名および表示位置が指定されています。その他の属性には、アイテム、ボタン、プロセスおよびブランチがあります。
ウィザードを使用してフォームを作成するには、次のステップを実行します。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
「ページの作成」をクリックします。
「フォーム」を選択します。
「フォーム」で、表6-4に示すフォーム・ページのタイプを選択します。
表6-4 フォーム・ページ・タイプ
フォーム・ページ・タイプ | 説明 |
---|---|
プロシージャのフォーム | ストアド・プロシージャの引数に基づくフォームを構築します。ストアド・プロシージャまたはパッケージに実装済のロジックまたはデータ操作言語(DML)が存在する場合は、この方法を使用します。 |
SQL問合せのフォーム | EQUIJOINなどのSQL問合せによって戻される列に基づくフォームを作成します。 |
表またはビューのフォーム | データベース表の単一行を更新できるフォームを作成します。 |
レポート付きの表のフォーム | 2つのページを作成します。1つのページにはレポートが表示されます。各行に2ページ目へのリンクが提供され、これを使用して各レコードを更新できます。
注意: このウィザードでは、127列を超える列が含まれている表はサポートされていません。127列を超える列を選択すると、エラーが発生します。 |
Webサービスのフォーム | Webサービスの定義に基づいて、アイテムを含むページを作成します。このウィザードでは、ユーザー入力フォーム、Webサービスをコールするプロセスおよび送信ボタンを作成します。 |
Webサービスのフォームとレポート | Webサービスの定義に基づいて、アイテムを含むページを作成します。このウィザードでは、ユーザー入力フォーム、Webサービスをコールするプロセスおよび送信ボタンを作成し、レポートに結果を表示します。 |
マスター・ディテール・フォーム | 1つのHTMLフォーム内にマスター行および複数のディテール行を表示するフォームを作成します。このフォームを使用すると、2つの表またはビューに対し、値の問合せ、挿入、更新および削除を行うことができます。 |
サマリー・ページ | 読取り専用のフォームを作成します。通常、ウィザードの最後に確認ページを提供するために使用します。 |
表形式フォーム | データベースの複数の行を更新できるフォームを作成します。
参照: 「表形式フォームの作成」 |
画面に表示されるステップに従います。
表形式フォームを使用すると、表の複数の行を一度に更新できます。「表形式フォーム」ウィザードでは、データベース表の複数の行に対して更新、挿入および削除を行うフォームを作成します。
表形式フォームを作成するには、次のステップを実行します。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
「ページの作成」をクリックします。
「フォーム」を選択します。
「表形式フォーム」を選択します。
「表形式フォーム」ウィザードが表示されます。
「表/ビューの所有者の指定」で、次のステップを実行します。
表形式フォームの基となる表またはビューの所有者を指定します。
表で実行する操作(たとえば、更新、挿入、削除など)を選択します。
「表/ビューの名前の指定」で、表を選択します。
「表示する列の指定」で、次のステップを実行します。
ユーザー・インタフェースのデフォルト値を使用するかどうかを指定します。「はい」または「いいえ」を選択します。
ユーザー・インタフェースのデフォルト値を使用して、指定したスキーマ内の表、列またはビューにデフォルトのユーザー・インタフェースのプロパティを割り当てることができます。
フォームに含める列(更新可能および更新不可)を選択します。
ページの作成後、列の順序またはSQL問合せを変更できます。
「主キーの指定」で、主キー列およびセカンダリ主キー列(使用可能な場合)を選択します。
「主キーおよび外部キーのデフォルト値」で、主キー列のソース・タイプを選択します。有効なオプションは次のとおりです。
既存のトリガー: 表にトリガーがすでに定義されている場合はこのオプションを選択します。このオプションは、フォームを完成させた後に主キー列ソースを指定する場合も選択できます。
カスタムPL/SQLファンクション: 戻りキー値を生成するPL/SQLファンクションを指定する場合はこのオプションを選択します。
既存の順序: 選択されているスキーマで使用可能な順序のリストから順序を選択する場合はこのオプションを選択します。
「更新可能な列」で、更新可能な列を選択します。
「ページおよびリージョン属性の指定」で、次のステップを実行します。
ページおよびリージョン情報を指定します。
リージョン・テンプレートを選択します。
レポート・テンプレートを選択します。
「タブの指定」で、このページのタブの実装を指定します。
「ボタン・ラベル」で、各ボタンに表示される表示テキストを入力します。
「ブランチ処理の指定」で、「送信」および「取消」ボタンをクリックした後、ブランチ先のページを指定します。
「終了」をクリックします。
注意: 表形式フォームのSQL文の選択リストを、生成後に変更しないでください。変更すると、フォームのデータを変更したときにチェックサム・エラーが発生します。 |
マスター・ディテール・フォームは、データベースの2つの表の1対多関係を示します。通常、マスター・ディテール・フォームには、1つのHTMLフォーム内にマスター行および複数のディテール行が表示されます。このフォームを使用すると、2つの表またはビューに対し、値の挿入、更新および削除を行うことができます。
マスター・ディテール・フォームを作成するには、次のステップを実行します。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
「ページの作成」をクリックします。
「フォーム」を選択します。
「マスター・ディテール・フォーム」を選択します。
マスター・ディテール・ウィザードが表示されます。
「マスター表の定義」で、次のステップを実行します。
表またはビューの所有者を選択します。
表またはビューの名前を選択します。
表示する列を選択します。
「ディテール表を定義」で、次のステップを実行します。
関連する表のみを表示するように指定します。
表またはビューの所有者を選択します。
表またはビューの名前を選択します。
表示する列を選択します。
「主キーの定義」で、マスター表の主キー列を選択してから、ディテール表の主キー列を選択します。
「マスター表の定義」と「ディテール表を定義」で、マスター表とディテール表の関係を定義します。
マスター表およびディテール表の主キー列のソースを指定します。
「マスター・オプションの定義」で、マスター行のナビゲーションを含めるかどうかを指定します。
マスター行のナビゲーションを含める場合は、ナビゲーション順の列を定義します。ナビゲーション順の列が定義されていないと、マスターの更新フォームは、主キー列を使用してナビゲートします。
「レイアウトの選択」で、マスター・ディテール・ページのレイアウトを指定します。
マスター・ディテール・ページは、表形式フォームとして同じページに含めることも、別のページに追加することもできます。
「ページ属性」で、マスター・ページおよびディテール・ページ情報を確認および編集します。
「タブの指定」で、オプションのタブ・セットを含めるかどうかを指定します。
「作成」をクリックします。
次のステップを実行することによって、フォームを手動で作成することもできます。
(ページ・アイテムのコンテナとして機能する)HTMLリージョンを作成します。
リージョンに表示するアイテムを作成します。
プロセスおよびブランチを作成します。
HTMLリージョンを作成することによって手動でフォームを作成するには、次のステップを実行します。
該当するページ定義にナビゲートします。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
ページを選択します。
ページ定義が表示されます。
HTMLリージョンを作成します。
「リージョン」で、「作成」アイコンをクリックします。
リージョン・タイプに「HTML」を選択します。
画面に表示されるステップに従います。
ページへのアイテムの追加を開始します。
「アイテム」で、「作成」アイコンをクリックします。
画面に表示されるステップに従います。
フォームを作成したら、次に、基礎となるデータベース表またはビューに対して挿入または更新を行うことによって、ユーザーが入力したデータを処理します。フォームを処理する方法には、3通りあります。
フォームを実装するための一般的な方法の1つは、行の自動処理(DML)プロセスを手動で作成することです。この方法には、3つのメリットがあります。1つ目は、SQLコードを指定する必要がないことです。2つ目は、Oracle HTML DBによってDMLプロセスが実行されることです。3つ目は、このプロセスによって、ロストした更新の検出が自動的に実行されることです。ロストした更新の検出によって、データに同時にアクセスできるアプリケーションのデータ整合性が保証されます。
この方法を実装するには、次のステップを実行します。
アイテムを追加し、「アイテム・ソース」タイプを「データベース列」に定義し、大/小文字が区別される列名を指定します。
オプション「常にキャッシュ値より優先」を選択します。
行の自動処理(DML)プロセスを作成するには、次のステップを実行します。
該当するページ定義にナビゲートします。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
ページを選択します。
ページ定義が表示されます。
「プロセス」で、「作成」アイコンをクリックします。
「データ操作」というプロセスを選択します。
プロセス・カテゴリの「行の自動処理(DML)」を選択します。
次のプロセス属性を指定します。
「名前」フィールドで、プロセスを識別するための名前を入力します。
「順序」フィールドで、順序番号を指定します。
「ポイント」リストから、適切なプロセス・ポイントを選択します。通常、「ロード時 - ヘッダーの後」を選択します。
「タイプ」リストから、「行の自動処理(DML)」を選択します。
画面に表示されるステップに従います。
この方法でフォームを処理するには、挿入、更新および削除操作を実行する1つ以上のプロセスを作成します。HTML DBエンジンですべての操作を透過的に実行するかわりに、操作の制御はユーザーが行います。
たとえば、3つのアイテムを持つフォームが存在すると想定します。
P1_ID
: 表に現在表示されている行の主キーを格納するための非表示アイテム。
P1_FIRST_NAME
: ユーザー入力用のテキスト・フィールド。
P1_LAST_NAME
: ユーザー入力用のテキスト・フィールド。
また、「挿入」、「更新」および「削除」というラベルの3つのボタンがあるとします。さらに、3つの列id
、first_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パッケージにまとめて処理することが適しています。DML操作を処理するパッケージを作成した場合は、このパッケージのプロシージャおよびファンクションを、送信後のPL/SQLプロセスからコールして、リクエストの挿入、更新および削除を処理できます。
Oracle HTML DBでは、ロード時またはHTML DBエンジンによるページのレンダリング時にフォームが移入されます。フォームを移入するには、次のステップを実行します。
プロセスを作成し、タイプを「行の自動フェッチ」に定義します。
非表示のセッション・ステート・アイテムを参照することによって、フォームを手動で移入します。
行の自動フェッチ・プロセスを作成するには、次のステップを実行します。
該当するページ定義にナビゲートします。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
ページを選択します。
ページ定義が表示されます。
「プロセス」で、「作成」をクリックします。
プロセス・タイプの「データ操作」を選択します。
プロセス・カテゴリの「行の自動フェッチ」を選択します。
次のプロセス属性を指定します。
「名前」フィールドで、プロセスを識別するための名前を入力します。
「順序」フィールドで、順序番号を指定します。
「ポイント」リストから、適切なプロセス・ポイントを選択します。
「タイプ」リストから、「行の自動フェッチ」を選択します。
画面に表示されるステップに従います。
非表示のセッション・ステート・アイテムを参照することによって、フォームを手動で移入することもできます。たとえば、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
の値は設定済です。
このプロセスのプロセス・ポイントは、「ロード時 - リージョンの前」またはこれ以前に実行するように設定されます。
検証を使用すると、ユーザーが入力したデータを処理前に確認できます。検証および関連するエラー・メッセージを作成したら、これらを特定のアイテムと関連付けることができます。検証エラー・メッセージをインライン表示(検証が実行されたページで表示)するか、個別のエラー・ページで表示するかを選択できます。
インラインのエラー・メッセージを作成するには、次のステップを実行します。
新しい検証を作成し、エラー・メッセージ・テキストを指定します。
検証を特定のアイテムと関連付けます。
新しい検証を作成するには、次のステップを実行します。
該当するページ定義にナビゲートします。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
ページを選択します。
ページ定義が表示されます。
「検証」で、「作成」アイコンをクリックします。
「検証の作成」ウィザードが表示されたら、画面に表示されるステップに従います。
検証タイプは2つのカテゴリに分けられます。
アイテム: これらの検証は、「アイテム」という語が先頭に付きます。検証と関連付けられたアイテムに対して一般的な確認を実行できます。
コード: これらの検証では、検証ロジックを定義する1つのPL/SQLコードまたはSQL問合せを指定する必要があります。複数アイテムの値の確認または他のデータベース表へのアクセスが必要なカスタム検証を実行するには、このタイプの検証を使用します。
画面に表示されるステップに従います。
注意: 3,950文字を超える文字は検証できません。 |
アイテムを検証と関連付け、エラー・メッセージ・テキストを指定するには、次のステップを実行します。
該当するページ定義にナビゲートします。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
ページを選択します。
ページ定義が表示されます。
「検証」で、関連付ける検証アイテムを選択します。
検証の属性ページが表示されます。
「エラー・メッセージ」までスクロールします。
「エラー・メッセージ表示位置」で、表示位置を確認します。
「関連付けられたアイテム」で、この検証と関連付けるアイテムを選択します。
「変更の適用」をクリックします。
Oracle HTML DBには、カレンダを生成するための組込みウィザードが含まれています。カレンダの基になる表を指定すると、特定の列に格納されている情報へドリルダウンするリンクを作成できます。
このセクションの構成は次のとおりです。
Oracle HTML DBは、次の2種類のカレンダをサポートしています。
簡易カレンダ: 指定したスキーマ、表および列に基づくカレンダを作成します。ウィザードによって、日付列および表示列の選択を求めるプロンプトが表示されます。
SQLカレンダ: 指定したSQL問合せに基づくカレンダを作成します。指定したSQL SELECT文には、少なくとも2つの列(日付列および表示列)が含まれている必要があります。
カレンダの作成方法は、既存のページにカレンダを追加するか、新しいページにカレンダを追加するかによって異なります。カレンダを作成する際は、次の点に注意してください。
1ページにつきカレンダは1つのみ作成できます。
日付列は、エントリが含まれるカレンダ上の日付を決定します。
表示列は、カレンダ日付を表示する特定の行を定義します。
Oracle HTML DBでカレンダを作成するには、簡易カレンダを作成することが最も簡単な方法です。ただし、結果として作成された簡易カレンダが要件を満たさない場合は、そのカレンダをSQLカレンダに変換することができます。
簡易カレンダをSQLカレンダに変換するには、次のステップを実行します。
ページ定義にナビゲートします。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
ページを選択します。
ページ定義が表示されます。
「リージョン」で、リージョン名の横にある「CAL」をクリックします。
「カレンダ属性」ページが表示されます。
「タスク」リストから「SQLベースのカレンダに変換」を選択します。
簡易カレンダがSQLカレンダに変換されると、「リージョン定義」に「リージョン・ソース」セクションが追加されます。「リージョン・ソース」には、カレンダを作成するSQL問合せが含まれます。「リージョン・ソース」へのアクセス権があるため、要件に合わせて問合せを編集できます。
カレンダの上部に表示されるタイトルは、リージョン・タイトルに対応しています。
リージョン・タイトルを変更するには、次のステップを実行します。
ページ定義にナビゲートします。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
ページを選択します。
ページ定義が表示されます。
「リージョン」で、リージョン名を選択します。
リージョン定義が表示されます。
「リージョン」で、新しいタイトルを入力します。
「変更の適用」をクリックします。
カレンダを作成すると、属性を変更することによって、カレンダの表示方法を変更できます。
このセクションの構成は次のとおりです。
「カレンダ属性」ページにアクセスするには、次のステップを実行します。
該当するページ定義にナビゲートします。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
ページを選択します。
ページ定義が表示されます。
「リージョン」で、リージョン名の横にある「CAL」をクリックします。
「カレンダ属性」ページが表示されます。次のトピックでは、「カレンダ属性」ページ固有のセクションについて説明します。
「カレンダ表示」を使用して、カレンダ・テンプレート、日付列および一般的なカレンダ書式設定を指定できます。
カレンダ・テンプレートは、HTML DBエンジンがカレンダをレンダリングするときに使用するテンプレートを決定します。日付列は、日付を含む表または問合せがカレンダに配置されるときの基になる列を定義します。表示列は、カレンダ日付に表示される特定の行を定義します。
別の表示列を選択するには、次のステップを実行します。
該当する「カレンダ属性」ページにナビゲートします。
「カレンダ表示」セクションに移動します。
別の表示列を指定するには、「表示列」リストから選択します。
「変更の適用」をクリックします。
カスタム表示列を指定するには、次のステップを実行します。
該当する「カレンダ属性」ページにナビゲートします。
「カレンダ表示」セクションに移動します。
「表示タイプ」で、「カスタム」を選択します。
「列の書式」で、カスタム列の書式を入力します。HTML式およびサポートされている置換文字列を使用できます。
「変更の適用」をクリックします。
「カレンダの間隔」を使用して、カレンダに含める日付を定義します。
「間隔の最初から開始」は、カレンダの開始時期を決定します。このオプションを選択すると、期間全体(たとえば、1か月間)のカレンダが作成されます。次に例を示します。
「間隔の最初から開始」を選択した場合、6月15日に月次カレンダを表示すると、6月1日から6月30日のカレンダが作成されます。
「間隔の最初から開始」を選択しなかった場合、6月15日に月次カレンダを表示すると、6月15日から6月30日のカレンダが作成されます。
「日付アイテム」には、カレンダの基になる日付が格納されます。
次の2つの属性は、カレンダの開始日と終了日を格納するアイテムを定義します。これらの属性を使用すると、一度に複数月にわたるカレンダを作成できます。「開始日を含むアイテム」は、カレンダの開始日が格納されるアイテムを指します。「終了日を含むアイテム」は、カレンダの終了日が格納されるアイテムを指します。いずれかのアイテムの日付書式がYYYMMDD
であることを確認してください。
「週の開始」は、カレンダが開始する曜日を決定します。
「列リンク」を使用して、カレンダの列にリンクを作成します。
別のページへの列リンクを作成するには、次のステップを実行します。
該当する「カレンダ属性」ページにナビゲートします。
「列リンク」までスクロールします。
「ターゲット」から、「このアプリケーションのページ」を選択します。
「ページ」で、ターゲット・ページIDを指定します。このページのページ区切りをリセットするには、「このページのページ区切りをリセット)」を選択します。
「リクエスト」で、使用するリクエストを指定します。
「キャッシュの消去」で、キャッシュを消去するページ(ページID)を指定します。ページIDをカンマで区切ってリストすることによって、複数のページを指定します。
「次のアイテムを設定」と「次の値を使用」という2つの属性を使用して、セッション・ステートの設定(リストしたアイテムへの値の指定)を行うことができます。
セッション・ステートを設定するには、次のステップを実行します。
「次のアイテムを設定」で、セッション・ステートを設定するアイテム名をカンマで区切って入力します。
「次の値を使用」で、前述のステップで指定したアイテムの値をカンマで区切って入力します。
静的な値または置換構文(&APP_ITEM_NAME.
など)を指定できます。URLのf?p=
に渡されるアイテム値にコロン(:)は使用できないことに注意してください。また、バックスラッシュでアイテム値全体を囲んだ場合(\1234,56\
など)を除いて、カンマも使用しないでください。
「変更の適用」をクリックします。
URLへの列リンクを作成するには、次のステップを実行します。
該当する「カレンダ属性」ページにナビゲートします。
「列リンク」までスクロールします。
「ターゲット」から、「URL」を選択します。
「URL」で、該当するアドレスを入力します。
「変更の適用」をクリックします。
「日付リンク」を使用して、カレンダの日付にリンクを作成します。この属性によって、カレンダの実際の数字(日付)にリンクが作成されます。
別のページへの日付リンクを作成するには、次のステップを実行します。
該当する「カレンダ属性」ページにナビゲートします。
「日付のリンク」までスクロールします。
「ターゲット」から、「このアプリケーションのページ」を選択します。
「ページ」で、ターゲット・ページIDを指定します。
このページのページ区切りをリセットするには、「このページのページ区切りをリセット)」を選択します。
「リクエスト」で、使用するリクエストを指定します。
「キャッシュの消去」で、キャッシュを消去するページ(ページID)を指定します。ページIDをカンマで区切ってリストすることによって、複数のページを指定します。
「次のアイテムを設定」と「次の値を使用」という2つの属性を使用して、セッション・ステートの設定(リストしたアイテムへの値の指定)を行うことができます。
セッション・ステートを設定するには、次のステップを実行します。
「次のアイテムを設定」で、セッション・ステートを設定するアイテム名をカンマで区切って入力します。
「次の値を使用」で、前述のステップで指定したアイテムの値をカンマで区切って入力します。
静的な値または置換構文(&APP_ITEM_NAME.
など)を指定できます。URLのf?p=
に渡されるアイテム値にコロン(:)は使用できないことに注意してください。また、バックスラッシュでアイテム値全体を囲んだ場合(\1234,56\
など)を除いて、カンマも使用しないでください。
「変更の適用」をクリックします。
URLへの日付リンクを作成するには、次のステップを実行します。
該当する「カレンダ属性」ページにナビゲートします。
「日付のリンク」までスクロールします。
「ターゲット」から、「URL」を選択します。
「URL」で、該当するアドレスを入力します。
「変更の適用」をクリックします。
Oracle HTML DBには、HTMLチャートおよびScalable Vector Graphics(SVG)チャートを生成するための組込みウィザードが含まれています。Oracle HTML DBは、次の2種類のグラフィカル・チャートをサポートしています。
HTML
SVG
SVGは、World Wide Web Consortium(W3C)が策定したXMLベースのWebグラフィックス用言語です。SVGチャートは埋込みタグで定義されます。SVGチャートがアプリケーションに適切なチャート・タイプかどうかを判断する際は、次の点に注意してください。
一部のWebブラウザは、SVGチャートをサポートしていません。
SVGチャートをサポートするWebブラウザでは、ほとんどの場合、SVGプラグインをダウンロードする必要があります。
このセクションの構成は次のとおりです。
Adobe SVGプラグインは、UTF-8、UTF-16、ISO-8859-1およびUS-ASCIIでエンコードされたデータを処理できます。SVGチャートのエンコードは、データベース・アクセス記述子(DAD)データベース・キャラクタ・セットによって決定されます。DADキャラクタ・セットがUTF8、AL32UTF8、AL16UTF16、WE8ISO8859P1または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
表6-5に、Oracle HTML DBで使用可能なチャート・タイプを示します。
表6-5 使用可能なチャート・タイプ
チャート・タイプ | 説明 |
---|---|
棒(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プラグインが必要です。 |
注意: 既存のチャートのタイプは変更しないでください。 かわりに、既存のチャートを削除して再作成してください。 |
チャートの作成方法は、既存のページにチャートを追加するか、新しいページにチャートを追加するかによって異なります。
既存ページにチャートを追加するには、次のステップを実行します。
ページ定義にナビゲートします。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
ページを選択します。
ページ定義が表示されます。
「リージョン」で、「作成」アイコンをクリックします。
「リージョンの作成」ウィザードが表示されます。
「チャート」を選択します。
作成するチャートのタイプを選択します。表6-5を参照してください。
画面に表示されるステップに従います。
チャートの作成後は、「チャート属性」ページでチャート属性を編集してチャートの表示を変更できます。
「チャート属性」ページにアクセスするには、次のステップを実行します。
ページ定義にナビゲートします。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
ページを選択します。
ページ定義が表示されます。
「リージョン」で、編集するチャート・リージョンの名前の横にある「チャート」をクリックします。
「チャート属性」ページが表示されます。
チャート・タイトル(「チャート・タイトル」属性)を削除すると、チャート凡例の位置と表示に悪影響を及ぼす場合があります。
新しいチャートを作成すると、そのチャートは、現行のテーマに関連付けられたカスケード・スタイルシート(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;}
表6-6に、サポートされているすべてのCSSクラスを示します。一部のクラスは、特定のチャート・タイプにのみ適用されます。
表6-6 使用可能なチャートCSSクラス
クラス | 説明 |
---|---|
text
|
チャートに表示されるテキストの外観を定義します。 |
tspan
|
チャートに表示されるテキストの外観を定義します。tspan はtext の定義と一致する必要があります。
|
text.title
|
デフォルトのチャート・テキストを上書きします。このクラスは、タイトル・テキストに使用します。 |
text.moredatafound
|
より多くのデータが検出されたテキストの外観を定義します。 |
rect.legend
|
チャート凡例を保持する矩形ボックスを作成します。
凡例の枠線を削除するには、 rect.legend{fill:#CCCC99;stroke:none;} |
text.legend
|
チャート凡例に表示されるテキストを定義します。 |
#background
|
SVGプラグイン用のバックグラウンド全体を作成します。
枠線なしの単色の立体バックグラウンドを作成するには、 #background{fill:#FFFFFF;stroke:#FFFFFF;stroke-width:2;} |
rect.chartholderbackground
|
円グラフおよびダイアル・チャートには適用されません。チャート・データを保持する矩形のバックグラウンドを作成します。
バックグラウンドに何も表示しない場合は、 rect.chartholderbackground(display:none;) |
#timestamp
|
「非同期更新」チャート属性が「はい」に設定されている場合にのみ適用されます。更新タイムスタンプ・テストの外観を制御します。
タイムスタンプの表示を無効にするには、「カスタムCSS、インライン」属性で "#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を参照するには、次のステップを実行します。
CSSをOracle HTML DBにアップロードします。詳細は、「カスケード・スタイルシートのアップロード」を参照してください。
チャートを作成します。「新しいチャートの作成」を参照してください。
ページ定義にナビゲートします。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
ページを選択します。
ページ定義が表示されます。
「リージョン」で、リージョン名の横にある「チャート」をクリックします。
「チャート属性」ページが表示されます。
「CSS」セクションまでスクロールします。
「カスタムCSSを使用」で、「はい」を選択します。
外部CSSを排他的に参照するには、次のステップを実行します。
「カスタムCSS (リンク)」で、カスタムCSSへのリンクを入力します。次に例を示します。
#IMAGE_PREFIX#themes/theme_4/svg.css
CSSが排他的に使用されるように指定します。「カスタムCSS、インライン」で、次のように入力します。
/**/
カスタムCSSを参照し、特定のスタイルを上書きするには、次のステップを実行します。
「カスタムCSS (リンク)」で、カスタム・スタイルシートへのリンクを入力します。次に例を示します。
#IMAGE_PREFIX#themes/theme_4/svg.css
「カスタムCSS、インライン」で、上書きするカスタムCSSスタイルを入力します。
「チャート属性」ページの「カスタムCSS、インライン」属性を使用して、デフォルトCSS内の特定のスタイルを上書きできます。
デフォルトのCSS内の特定のスタイルを上書きするには、次のステップを実行します。
チャートを作成します。「新しいチャートの作成」を参照してください。
ページ定義にナビゲートします。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
ページを選択します。
ページ定義が表示されます。
「リージョン」で、リージョン名の横にある「チャート」をクリックします。
「チャート属性」ページが表示されます。
「CSS」までスクロールします。
「カスタムCSSを使用」で、「はい」を選択します。
「カスタムCSS、インライン」で、上書きするカスタムCSSスタイルを入力します。
「チャート属性」ページの「非同期更新」属性を有効にして、情報を監視するチャートを作成できます。この属性を有効にすると、チャートが更新され、指定した時間間隔内に基礎となるデータで行われた変更が反映されます。
非同期更新を有効にするには、次のステップを実行します。
チャートを作成します。詳細は、「新しいチャートの作成」を参照してください。
ページ定義にナビゲートします。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
ページを選択します。
ページ定義が表示されます。
「リージョン」で、リージョン名の横にある「チャート」をクリックします。
「チャート属性」ページが表示されます。
「リフレッシュ」までスクロールします。
「非同期更新」で、「はい」を選択します。
「更新間隔」で、チャートの更新間隔(秒)を入力します。最適なパフォーマンスを得るには、2秒を超える間隔を選択します。
「非同期更新」を有効にすると、最終更新を示すタイムスタンプがチャートに表示されます。
「非同期更新」タイムスタンプを無効にするには、次のステップを実行します。
「チャート属性」ページにナビゲートします。
「CSS」セクションに移動します。
「カスタムCSSを使用」で、「はい」を選択します。
「カスタムCSS、インライン」で、#timestamp
を次のように編集します。
#timestamp{display:none;}
チャートを他の言語で表示するには、text
およびtspan
クラスに正しい言語が反映されるように編集します。
チャートを他の言語で表示するには、次のステップを実行します。
「チャート属性」ページにナビゲートします。 詳細は、「チャート属性の編集」を参照してください。
「CSS」までスクロールします。
「カスタムCSSを使用」で、「はい」を選択します。
「カスタムCSS、インライン」で、text
およびtspan
クラスに正しい言語が反映されるように編集します。次の例では、チャートを韓国語に変更する方法を示します。
text{fill:#000000;} tspan{fill:#000000;}
アプリケーションを設計する際、ボタンを使用して、特定のページまたはURLを表示したり、情報をポストまたは処理するようにできます(たとえば、「作成」、「取消」、「次へ」、「戻る」または「削除」ボタンを作成します)。
ボタンでは、2つの異なるタイプの操作を実行できます。ボタンを使用して、ページを送信してから、URLにリダイレクトできます。また、ページを送信せずにURLにブランチすることもできます。
このセクションの構成は次のとおりです。
ボタンを作成するには、ページ定義から「ボタンの作成」ウィザードを実行します。各ボタンは、リージョンに存在します。リージョンはページ上の領域で、コンテンツのコンテナとして機能します。
新しいボタンを作成するには、次のステップを実行します。
該当するページ定義にナビゲートします。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
ページを選択します。
ページ定義が表示されます。
必要に応じて、HTMLリージョンを作成します。「リージョンのカスタマイズ」を参照してください。
「ボタン」で、「作成」アイコンをクリックします。
「ボタンの作成」ウィザードが表示されます。
ボタンを含めるリージョンを選択します。
ボタンの位置を選択します。
このリージョン・アイテムで表示されるボタンの作成
リージョン位置にボタンの作成
ボタンをアイテムとしてリージョンに追加する(たとえば、フォーム・フィールドの右にボタンを直接追加する)には、「このリージョン・アイテムで表示されるボタンの作成」を選択します。
「リージョン位置にボタンの作成」を選択する場合は、次のステップを実行します。
「ボタン名」および「ラベル」を指定します。
ボタン・タイプ「HTMLボタン(デフォルト)」、「イメージ」または「テンプレートによる作成」を選択します。
「元に戻す」ボタンを作成するには、「ボタンをリセット」を選択します。このタイプのボタンが有効になっている場合、ページの値がこのページの初期レンダリング時の状態にリセットされます。
アクションを選択します。
「ページを送信してURLにリダイレクト」を選択すると、ユーザーがボタンをクリックするたびに、HTML DBエンジンにカレント・ページが送信されます。
「ページを送信せずにURLにリダイレクト」を選択すると、ページの送信が回避されます。ページを処理のために送信する必要がない場合(「取消」ボタンなど)、このアクションを選択します。このアクションでは、データベースでの処理が回避され、負荷が軽減されます。
「このリージョン・アイテムで表示されるボタンの作成」を選択する場合は、次のステップを実行します。
「ボタン名」および「順序」を指定します。
ボタンを新しい行の先頭に表示するか、新しいフィールドの先頭に表示するかを指定します。
「ラベル」を指定します。
リクエストの値を入力します。
ボタン・スタイルを選択します。
画面に表示されるステップに従います。
「複数のボタンの作成」ウィザードを使用すると、同じリージョン内に一度に複数のボタンを作成できます。
一度に複数のボタンを作成するには、次のステップを実行します。
該当するページ定義にナビゲートします。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
ページを選択します。
ページ定義が表示されます。
必要に応じて、HTMLリージョンを作成します。「リージョンのカスタマイズ」を参照してください。
「ボタン」で、「作成」アイコンをクリックします。
「ボタンの作成」ウィザードが表示されます。
ページ下部の「複数のボタンの作成」を選択します。
「複数のボタンの作成」ウィザードが表示されます。
「リージョンにボタンを配置」から、ボタンを含めるリージョンを選択します。
「テンプレート」からテンプレートを選択します。
「HTML属性」で、これらのボタンのHTML属性を指定します。このテキストがHTML要素の定義に追加されます。たとえば、テキスト・ボタンのクラスを次のように設定できます。
class="myclass"
残りのフィールドに迅速に移入するには、ページの右側にある「クイック・ボタン」リストから選択します。
「ボタンの作成」をクリックします。
ボタンに付けた名前によって、組込み属性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');">
この例では、FinishはREQUEST
の名前で、大/小文字が区別されます。
各ページには、任意の数のブランチを含めることができます。ブランチは、アプリケーションの他のページまたはURLにリンクします。HTML DBエンジンでは、ページ・プロセス中の異なる時点でブランチが検討されます。プロセス前、計算前、検証前およびプロセス後のどの時点でブランチするかを選択できます。アプリケーション・ビルダーの他のコントロールと同様に、ブランチ処理には条件を設定できます。たとえば、ユーザーがボタンをクリックした場合にブランチできます。ブランチを作成する場合は、ブランチを特定のボタンに関連付けます。ブランチは、ユーザーがボタンをクリックした場合にのみ検討されます。
ボタンを条件付きで表示するには、「ページ・ボタンの編集」ページの属性を編集します。
ボタンを条件付きで表示するには、次のステップを実行します。
ボタンを作成します。詳細は、「ウィザードを使用したボタンの作成」を参照してください。
該当するページ定義にナビゲートします。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
ページを選択します。
ページ定義が表示されます。
「ボタン」で、ボタン名を選択します。
ボタンの属性ページが表示されます。
「条件付きボタン表示」までスクロールします。
「条件タイプ」リストから選択します。
表示されるフィールドに式を入力します。
「変更の適用」をクリックします。
アイテムは、HTMLフォームの一部です。アイテムは、テキスト・フィールド、テキスト領域、パスワード、選択リスト、チェック・ボックスなどを示します。アイテム属性は、ページ上のアイテムの表示に影響します。たとえば、これらの属性は、ラベルの表示位置、アイテムの大きさおよびアイテムの表示位置(左右、上下)に影響します。
アイテムには、ページ・アイテムとアプリケーション・アイテムの2つのタイプが存在します。ページ・アイテムはページ上に配置され、「表示形式」、「ラベル」、「ラベル・テンプレート」などの関連付けられたユーザー・インタフェースのプロパティを持ちます。アプリケーション・アイテムはページに関連付けられないため、ユーザー・インタフェースのプロパティを持ちません。アプリケーション・アイテムは、グローバル変数として使用できます。
このセクションの構成は次のとおりです。
ページ・レベル・アイテムを作成するには、ページ定義から「アイテムの作成」ウィザードを実行します。
新しいページ・レベル・アイテムを作成するには、次のステップを実行します。
該当するページ定義にナビゲートします。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
ページを選択します。
ページ定義が表示されます。
必要に応じて、HTMLリージョンを作成します。「リージョンのカスタマイズ」を参照してください。
「アイテム」で、「作成」アイコンをクリックします。
アイテム・タイプを選択します。詳細は、「アイテム・タイプ」を参照してください。
画面に表示されるステップに従います。
アイテム名を指定する場合は、次の規則に注意してください。規則は次のとおりです。
一重引用符を使用しないでください。
先頭は文字または数字である必要があります。その後は、文字、数字またはアンダースコア文字を使用できます。
大/小文字が区別されません。
30文字以下にする必要があります。
基本ASCIIキャラクタ・セット以外の文字を含めることはできません。
アイテムの作成時に、アイテム・タイプを指定します。アイテムを作成すると、「ページ・アイテムの編集」ページの「表示形式」リストに、アイテムのタイプが表示されます。表6-7に、使用可能なアイテム・タイプを示します。
表6-7 使用可能なアイテム・タイプ
アイテム・タイプ | 説明 |
---|---|
チェック・ボックス | LOVを使用して表示します。チェック・ボックスとして表示されるアイテムには、LOVが必要です。選択したチェック・ボックスに対応する値が、コロンで区切られた文字列で戻されます。
次の例に、 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」を参照してください。 |
日付ピッカー | 横にカレンダ・アイコンが付いたテキスト・フィールドを表示します。このアイコンをクリックすると小さいカレンダが表示され、ユーザーは日付および時刻を選択できます(オプション)。
必要な書式が「表示形式」リストに存在しない場合、「日付ピッカー(アプリケーションの書式マスクを使用)」を選択します。書式マスクを使用する場合は、アプリケーションによってアイテム |
表示のみ | Oracle HTML DBは、HTML表を使用してアイテムをレンダリングします。このアイテムを使用すると、表を閉じて新しい表を開くことによって、フォームのアイテムのレイアウトを制御できます。 |
ファイル参照 | 「参照」ボタンが付いたテキスト・フィールドを表示します。これによって、ローカル・ファイル・システムのファイルを検索、およびアップロードできます。Oracle HTML DBは、これらのファイルをアップロードする表、およびファイルを取得するAPIを提供します。 |
非表示 | HTMLの非表示のフォーム要素をレンダリングします。セッション・ステートは、テキスト・フィールドと同様に割当ておよび参照することができます。 |
リスト・マネージャ | LOVに基づきます。このアイテムを使用すると、アイテムを選択し、リストに追加してアイテム・リストを管理できます。LOVはポップアップ表示されます。 |
複数選択 | 複数選択HTMLフォーム要素としてレンダリングします。実行時に、選択された値がコロンで区切られた文字列に戻されます。HTMLDB_UTIL API を使用して、値を分割できます。
|
パスワード | HTMLのパスワードのフォーム要素としてレンダリングします。 |
ポップアップLOV | アイコンが付いたテキスト・フィールドとしてレンダリングします。アイコンをクリックすると、LOVを含むポップアップ・ウィンドウが表示されます。このLOVは、一連のリンクとして表示されます。このリストから値を選択すると、選択した値がテキスト・フィールドに配置されます。ポップアップLOVは、テンプレートで制御します。ポップアップLOVテンプレートは、各アプリケーションに1つのみ指定できます。
1つのページで戻すには大きすぎるLOVの場合には、ポップアップLOVを使用することをお薦めします。 ポップアップLOVには、ウィンドウがポップアップ表示された際に行セットをフェッチするものと、フェッチしないものの2つのタイプがあります。 ポップアップLOVは、異なる列別名を持つ2つの列を選択する問合せに基づく必要があります。次に例を示します。 SELECT ename name, empno id FROM emp いずれかの列が式の場合は、別名を使用します。次に例を示します。 SELECT ename||' '||job display_value, empno FROM emp |
ラジオ | LOVに基づいて、HTMLのラジオ・グループのフォーム要素としてレンダリングします。ラジオ・ボタンの選択時にページを送信するには、「送信機能付きラジオ・グループ」を選択します。
次の例では、従業員名( SELECT ename, empno FROM emp |
選択リスト | LOVを使用して表示します。選択リストとしてアイテムを表示するには、LOVが必要です。選択リストは、HTMLフォーム要素<select を使用してレンダリングされます。選択リストの値は、名前付きLOVまたはアイテム・レベルで定義されたLOVで決まります。表示値および戻り値にはNULLを指定できます。
次の例では、従業員名( SELECT ename display_text, empno return_value FROM emp Oracle HTML DBでは、標準的なHTML選択リストに加えて次の拡張機能が提供されます。
注意: 選択リストが長くなると、エラーが発生する可能性があります。エラーが発生する長い選択リストがある場合は、その選択リストのかわりにポップアップLOVを使用することをお薦めします。 |
表の停止および開始 | </table> タグでHTML表がクローズされ、新しいHTML表が開始されます。このアイテム・タイプを使用してリージョンの中央部分で列の幅を再設定できます。
「表の停止および開始」アイテムでは、ラベルのみが表示されることに注意してください。このラベルを非表示にするには、NULLに設定します。これを行うには、デフォルトのラベルを削除します。 |
テキスト | 最大30,000バイトのテキストを含むHTMLテキスト・フィールドとして表示します。「高さ」および「幅」アイテム属性を編集して最大長と表示幅を制御します。
使用可能なテキスト表示オプションは、次のとおりです。
|
テキスト領域 | HTMLのテキスト領域としてレンダリングします。テキスト領域として表示されるアイテムの最大長はありません。「高さ」および「幅」アイテム属性を編集して、高さと幅を制御します。さらに使用可能なテキスト領域の表示形式のオプションには、次のものがあります。
|
リージョン、計算、プロセス、検証およびブランチのセッション・ステートに格納されたアイテム値を参照できます。表6-8に、アイテム値を参照するためにサポートされている構文を示します。
タイプ | 構文 | 説明 |
---|---|---|
SQL | :MY_ITEM
|
名前が30バイト以下のアイテム用の標準のバインド変数構文。この構文は、SQL問合せおよびPL/SQL内の参照用に使用します。 |
PL/SQL | V('MY_ITEM')
|
V ファンクションを使用してアイテム値を参照するPL/SQL構文。
|
PL/SQL | NV('MY_NUMERIC_ITEM')
|
NV ファンクションを使用して数値アイテム値を参照する標準のPL/SQL構文。
|
静的テキスト | &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);
作成したアイテムは、「ページ・アイテムの編集」ページで編集できます。
アイテム属性を編集するには、次のステップを実行します。
該当するページ定義にナビゲートします。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
ページを選択します。
ページ定義が表示されます。
「アイテム」で、アイテム名を選択します。
アイテムの属性ページが表示されます。
該当するアイテム属性を編集します。特定の属性については、アイテム・ヘルプを参照してください。
「変更の適用」をクリックします。
「ページ・アイテムの編集」ページで属性を編集することによって、アイテムを条件付きまたは読取り専用で表示できます。
アイテムを条件付きまたは読取り専用で表示にするには、次のステップを実行します。
アイテムを作成します。詳細は、「ページ・レベル・アイテムの作成」を参照してください。
該当するページ定義にナビゲートします。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
ページを選択します。
ページ定義が表示されます。
「アイテム」で、アイテム名を選択します。
アイテムの属性ページが表示されます。
アイテムを条件付きで表示するには、次のステップを実行します。
「条件」までスクロールします。
「条件タイプ」リストから選択します。
表示されるフィールドに式を入力します。
アイテムを読取り専用にするには、次のステップを実行します。
「読取り専用の表示設定」までスクロールします。
「読取り専用条件タイプ」リストから選択します。
表示されるフィールドに式を入力します。
「変更の適用」をクリックします。
複数選択アイテムは、複数選択リストのフォーム要素としてレンダリングします。実行時に、選択された値がコロンで区切られた文字列に戻されます。値をこの書式で処理するには、次の2つの方法があります。
INSTR
ファンクションの使用
HTMLDB_UTIL.STRING_TO_TABLE
ファンクションの使用
たとえば、「部門」複数選択リストから選択した部門によって限定されているEMP
表およびDEPT
表に関するレポートがあるとします。まず、次の問合せを使用して、複数選択アイテム「P1_DEPTNO」を作成します。
SELECT dname, deptno FROM dept
次に、次のように入力して、選択した部門内の従業員のみを戻します。
SELECT ename, job, sal, comm, dname FROM emp e, dept d WHERE d.deptno = e.deptno AND instr(':'||:P1_DEPTNO||':',':'||e.deptno||':') > 0
次に、複数選択アイテム「P1_DEPTNO」で選択した値をプログラムで処理するとします。これを行うには、HTMLDB_UTIL.STRING_TO_TABLE
ファンクションを使用して、コロンで区切られた文字列をPL/SQL配列に変換します。次の例では、選択した部門を問合せの日付が含まれている監査表に挿入する方法を示します。
DECLARE l_selected HTMLDB_APPLICATION_GLOBAL.VC_ARR2; BEGIN -- -- Convert the colon separated string of values into -- a PL/SQL array l_selected := HTMLDB_UTIL.STRING_TO_TABLE(:P1_DEPTNO); -- -- Loop over array to insert department numbers and sysdate -- FOR i IN 1..l_selected.count LOOP INSERT INTO report_audit_table (report_date, selected_department) VALUES (sysdate, l_selected(i)); END LOOP; END;
アプリケーション・レベル・アイテムは表示されませんが、アプリケーションへのグローバル変数として使用されます。
新しいアプリケーション・レベル・アイテムを作成するには、次のステップを実行します。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
アプリケーション・ビルダーが表示されたら、「共有コンポーネント」をクリックします。
「ロジック」で、「アイテム」を選択します。
「アプリケーション・アイテム」ページが表示されます。
新しいアプリケーション・アイテムを作成するには、「作成」をクリックします。
画面に表示されるステップに従います。
日付ピッカー・アイテムを作成する必要がある場合でも、必要なフォーマットを「表示形式」リストに表示しない場合は、「日付ピッカー(アプリケーションの書式マスクを使用)」を選択します。アプリケーションがこのタイプの日付ピッカーを使用する場合、HTML DBエンジンによって、PICK_DATE_FORMAT_MASK
というアイテムから日付書式が導出されます。次の2つの方法で、このアイテムを移入できます。
PICK_DATE_FORMAT_MASK
というアプリケーション置換文字列を定義する
PICK_DATE_FORMAT_MASK
というアプリケーション・レベル・アイテムを作成する
PICK_DATE_FORMAT_MASK
を移入する方法の1つに、アプリケーション置換文字列の作成があります。「アプリケーション属性の編集」ページで、アプリケーション・レベルの置換文字列を定義します。アプリケーション・レベルの置換文字列は静的値であり、実行時に変更できないことに注意してください。
PICK_DATE_FORMAT_MASK
という新しいアプリケーション置換文字列を定義するには、次のステップを実行します。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
アプリケーション・ビルダーが表示されます。
「属性の編集」アイコンをクリックします。
「標準属性の編集」をクリックします。
「静的置換文字列」までスクロールします。
PICK_DATE_FORMAT_MASK
という新しい静的置換文字列を作成します。
「置換文字列」で、名前PICK_DATE_FORMAT_MASK
を入力します。
「置換値」で、日付書式の値(Month DD, YYYY
など)を入力します。
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として定義できます。静的リストは、表示値と戻り値の事前定義された組合せに基づきます。動的リストは、表から値を選択するように作成したSQL問合せに基づきます。
名前付きLOVを作成するには、次のステップを実行します。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
アプリケーションのホームページが表示されます。
「共有コンポーネント」アイコンをクリックします。
ユーザー・インタフェースで、「LOV」を選択します。
新しいLOVを作成するには、「作成」をクリックします。
画面に表示されるステップに従います。
新しい名前付きLOVがLOVリポジトリに追加されます。
静的LOVは、「LOVの作成」ウィザードの実行時に指定する表示値と戻り値の静的リストに基づきます。静的LOVを作成するには、「LOVの作成」ウィザードを実行して、LOVタイプに「静的」を選択します。Oracle HTML DBによって、指定した表示値、戻り値およびソート順序がLOVリポジトリに格納されます。リポジトリに静的LOVを追加すると、アイテムを作成し、この定義に基づいてチェック・ボックス、ラジオ・グループ、選択リストまたはポップアップ・リストとしてアイテムを表示できます。
既存のLOVを編集するには、「LOV」ページでLOVを選択します。
LOVを編集するには、次のステップを実行します。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
「共有コンポーネント」をクリックします。
ユーザー・インタフェースで、「LOV」を選択します。
LOVを選択します。
「LOVの編集」ページが表示されます。
該当する属性を編集し、「変更の適用」をクリックします。
「LOVの編集」ページで「グリッド編集」ボタンをクリックすることによって、すべての静的LOVの表示値を編集できます。
静的LOVのバルク編集を実行するには、次のステップを実行します。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
「共有コンポーネント」をクリックします。
ユーザー・インタフェースで、「LOV」を選択します。
デフォルトでは、LOVはアイコンとして表示されます。
デフォルトの表示を変更します。「ビュー」リストから「詳細」を選択し、「実行」をクリックします。
静的LOVを検索して、LOV名を選択します。
「サブスクリプション」の下の「グリッド編集」ボタンをクリックします。
該当する表示値を編集し、「変更の適用」をクリックします。
バインド変数を使用して、セッション・ステートを参照できます。次の例に示すLOVは、my_deptno
というアイテムに有効な部門番号が含まれている場合にのみ動作します。
SELECT ename, empno FROM emp WHERE deptno = :my_deptno
開発者がアイテム属性に指定したNULL値が表示可能な非NULLテキスト値でない場合にLOVからアイテム・ソースを導出し、NULL値を選択すると、多くの場合、ページの送信時にポストされる値は%null%
という文字列となり、OracleのNULL値にはなりません。
送信された値を評価するためのコードを記述する場合は、この動作に注意してください。 たとえば、送信されたアイテムP1_X
があるページによって評価され、そのアイテムをPL/SQL式replace(:P1_X,'%'||'null%',null)
を使用してセッション・ステートで永続保存するか、またはDMLなどのAPIに渡すために準備する必要があるとします。
問題が発生しないよう、ページ計算、プロセスおよび検証で実行される式で%null%
をコード化する適切な方法に注意してください。保存される際に%null%
がアプリケーションによってページ・メタデータ内のNULL値と置き換えられないように、文字列を分割する必要があります。次に例を示します。
'%'||'null%'
アプリケーション・ビルダーには、LOVの管理に役立つ多くのレポートが含まれています。
LOVレポートへのアクセス
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
アプリケーション・ビルダーが表示されたら、「共有コンポーネント」をクリックします。
ユーザー・インタフェースで、「LOV」を選択します。
ページ上部の次のいずれかのタブを選択します。
検索
サブスクリプション
使用状況
履歴
画面に表示されるステップに従います。
「検索」をクリックすると、「動的LOVの検索」ページが表示されます。このページを使用して、動的LOVを構成する問合せを検索します。「問合せの内容」フィールドに問合せを入力し、「実行」をクリックします。
「サブスクリプション」をクリックすると、「LOVのサブスクリプション」ページが表示されます。このページには、アプリケーションに存在するサブスクライブされたLOVがすべて表示されます。
ショートカットを使用すると、HTMLまたはPL/SQLファンクションを繰り返しコーディングする必要がなくなります。ショートカットを使用して、ボタン、HTMLテキスト、PL/SQLプロシージャ、HTMLなどのページ・コントロールを定義できます。ショートカットを定義すると、そのショートカットが使用される位置に固有な特定の構文を使用して起動できます。ショートカットは何度でも参照できるため、コードの重複を削減できます。
内容は次のとおりです。
新しいショートカットを作成する際は、作成するショートカットのタイプを指定する必要があります。Oracle HTML DBは、次のショートカット・タイプをサポートしています。
このタイプのショートカットを使用して、JavaScriptリテラル文字列内部のショートカットを参照します。このショートカットは、テキスト文字列を定義します。ショートカットが参照されると、JavaScriptに必要な一重引用符がエスケープされます。
このタイプのショートカットを使用して、実行時に変換可能なメッセージを参照します。このショートカットには、ショートカット・ボディがないため、ショートカット名と対応するメッセージ名は一致する必要があります。実行時、ショートカット名は、現在の言語に変換可能なメッセージのテキストに拡張されます。
ショートカットをアプリケーションに組み込むには、ショートカットを定義して、ショートカット・リポジトリに追加する必要があります。新しいショートカットを参照するには、次の構文を使用します。
"MY_SHORTCUT"
ショートカットの名前は、大文字で指定し、引用符で囲む必要があります。
新しいショートカットを定義するには、次のステップを実行します。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
アプリケーション・ビルダーが表示されたら、「共有コンポーネント」をクリックします。
ユーザー・インタフェースで、「ショートカット」を選択します。
「作成」をクリックします。
次のいずれかの項目を選択します。
最初から
既存のショートカットのコピーとして
画面に表示されるステップに従います。
新しいショートカットがショートカット・リポジトリに追加され、次の属性で選択可能になります。
「HTMLテキスト(ショートカットあり)」として定義されたリージョンのリージョン・ソース属性。「リージョンのカスタマイズ」を参照してください。
リージョンのヘッダーおよびフッターのテキスト属性。詳細は、「リージョンのヘッダーおよびフッターの指定」を参照してください。
アイテム・ラベル属性およびデフォルト値属性。詳細は、「アイテム」を参照してください。
リージョン・テンプレート属性。詳細は、「テンプレートの編集」を参照してください。
アプリケーション・ビルダーには、LOVの管理に役立つ多くのレポートが含まれています。
ショートカット・レポートにアクセスするには、次のステップを実行します。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
アプリケーション・ビルダーが表示されたら、「共有コンポーネント」をクリックします。
ユーザー・インタフェースで、「ショートカット」を選択します。
次のいずれかのボタンをクリックします。
サブスクリプション
履歴
注意: 「サブスクリプション」ボタンおよび「履歴」ボタンが表示されるのは、ショートカットを作成した後のみです。 |
「サブスクリプション」をクリックすると、「サブスクライブされたショートカット」ページが表示されます。このページには、アプリケーションに存在するサブスクライブされたショートカットがすべて表示されます。
Web配置のすべてのメリットを失わずに、検出されたクライアント/サーバー・アプリケーションを擬似実行するファンクションを追加する最も有効な方法は、JavaScriptをWebアプリケーションに追加する方法です。 Oracle HTML DBには、JavaScript追加専用に設計された複数の組込みインタフェースが含まれています。
JavaScriptは、データ処理集中型検証には適していません。たとえば、名前が大規模データベース表内に含まれていることを検証するには、大容量のHTMLドキュメントを作成して、すべてのレコードをクライアントにプルダウンする必要があります。通常、複雑な操作には、JavaScriptではなくサーバー・サイドHTML DB検証の方がより適しています。
内容は次のとおりです。
アイテムを参照する場合、最も有効な方法は、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');"
JavaScriptファンクションを組み込む場所は、主に2つあります。
ページのHTMLヘッダー属性内
ページ・テンプレートの.jsファイル内
JavaScriptをアプリケーションに含める方法の1つとして、JavaScriptをページのHTMLヘッダー属性に追加する方法があります。これは、ページに固有のファンクションに有効な方法で、ファンクションを.js
ファイルに組み込む前にテストを行う有効な方法でもあります。
「ページ属性」ページのHTMLヘッダー属性にコードを入力するだけで、JavaScriptファンクションをページに追加できます。たとえば、次のコードを追加すると、カレント・ページのすべての場所からtest
ファンクションにアクセスできるようになります。
<script language="JavaScript1.1" type="text/javascript"> function test(){ alert('This is a test.'); } </script>
Oracle HTML DBでは、ページ・テンプレートで.js
ファイルを参照できます。 この方法により、アプリケーションからそのファイル内のすべてのJavaScriptにアクセスできます。 .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をコールする方法です。 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を駆動する方法を次に示します。
基本フォームを作成します。
2つの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つのアイテムのヘルプ・テキストを定義するには、属性を編集します。アプリケーションの作成時にこれらの属性を定義することをお薦めします。次のステップでは、簡略化のために、これらの属性を定義した後にヘルプのテキストを定義する方法について説明します。
ページ・ヘルプ・テキストを定義するには、次のステップを実行します。
ページ・ヘルプを追加するページのページ定義にナビゲートします。
「属性の編集」をクリックして、既存のページ属性を表示します。
「ページ・ヘルプ・テキスト」までスクロールします。
表示されたフィールドにヘルプ・テキストを入力します。
「変更の適用」をクリックします。
ページ・ヘルプ・テキストが必要な各ページに対して、これらのステップを実行します。
各ページのアイテム・ヘルプ・テキストを定義するには、次のステップを実行します。
アイテム・ヘルプを追加するページのページ定義にナビゲートします。
「アイテム」で、編集するアイテムの名前をクリックします。
「ヘルプ・テキスト」までスクロールします。
表示されたフィールドにヘルプ・テキストを入力します。
「変更の適用」をクリックします。
ヘルプ・テキストが必要な各アイテムに対して、これらのステップを実行します。
アプリケーションにアイテム・ヘルプを含める場合は、「アイテム・ヘルプをバルク編集」レポートを使用して、アイテム・ヘルプの複数のトピックを一度に編集できます。
「アイテム・ヘルプをバルク編集」レポートを表示するには、次のステップを実行します。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
「タスク」リストから「アプリケーション・レポートの表示」を選択します。
「ページ・コンポーネント」をクリックします。
「アイテム・ヘルプ・テキスト」を選択します。
レポートがページの下部に表示されます。
「アイテム・ヘルプをバルク編集」レポートでは、次の操作を実行できます。
既存のヘルプ・トピックを更新できます。表示されるヘルプ・テキストを編集し、「変更の適用」をクリックします。
ページIDをクリックして、アイテムが含まれているページ定義にリンクできます。
アイテム名をクリックして、ページ・アイテムにリンクできます。
アプリケーションにアイテム・ヘルプが含まれていない場合は、デフォルトのヘルプ・テキストの一括更新を実行します。
アイテム・ヘルプ・トピックをシードするには、次のステップを実行します。
「アイテム・ヘルプをバルク編集」レポートにアクセスします。
「アイテム・ヘルプ・テキストのシード」をクリックします。
「デフォルトのヘルプ・テキスト」で、すべてのヘルプ・トピックに表示されるデフォルト・テキストを入力します。
「変更の適用」をクリックします。
ヘルプを作成したら、次に、ユーザーがリンクに使用するためのナビゲーション・バー・エントリを作成します。
ナビゲーション・バー・エントリを作成するには、次のステップを実行します。
ページ定義にナビゲートします。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
ページを選択します。
ページ定義が表示されます。
「ナビゲーション・バー」で、「作成」アイコンをクリックします。
適切なナビゲーション・バー・エントリ属性を指定します。
順序
altタグ・テキスト
アイコン・イメージ名
イメージの高さおよびイメージの幅
テキスト
ターゲット位置を指定します。
ターゲット位置を指定するには、次のステップを実行します。
「ターゲット・タイプ」で、「このアプリケーションのページ」を選択します。
「ページ」で、ページIDを指定します。
「リクエスト」で、次のとおり入力します。
&APP_PAGE_ID.
「リクエスト」に置換文字列&APP_PAGE_ID
を指定することによって、HTML DBエンジンに対して、ユーザーがこのアイコンをクリックした場合にカレント・ページのヘルプ・テキストを表示するように指示します。