ヘッダーをスキップ

Oracle Database 2日でApplication Express開発者ガイド
リリース3.0

E05691-01
目次
目次
索引
索引

戻る 次へ

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

このチュートリアルでは、AnyCo Corpという架空の会社の人事管理(HR)アプリケーションを作成します。この章では、アプリケーションを構築する方法、アプリケーションを変更する方法、および開発プロセスの様々な段階でアプリケーションをプレビューする方法について説明します。

この章での操作を始める前に、次のことを行います。

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

このチュートリアルで構築するアプリケーションの概要

このチュートリアルでは、AnyCo Corpという架空の会社の人事(HR)アプリケーションの開発について説明します。このアプリケーションを作成すると、ユーザーはOEHR_DEPARTMENTS表およびOEHR_EMPLOYEES表に格納された従業員情報の表示と変更を行うことができます。

アプリケーションを構築するときは、次のステップを実行します。

  1. 「ホーム」ページと基本的な「Departments」レポートを含むアプリケーションを作成します。「初期アプリケーションの作成」を参照してください。

  2. レポートを展開して、他の表のデータを表示します。「「Departments」レポートの変更」を参照してください。

  3. OEHR_EMPLOYEES表に基づいて「Employees」フォームおよびレポートを構築します。「「Employees」レポートおよびフォームの追加」を参照してください。

  4. 計算されたフィールドを「Employees」レポートに追加します。「「Employees」レポートの編集」を参照してください。

  5. 「Employees」フォームのアイテムを編集し、(LOVを使用した)選択リストとして表示します。「選択リストとしてのアイテムの表示」を参照してください。

  6. 「ホーム」ページにリンクを追加します。「「ホーム」ページでの「Employees」レポートへのリンクの追加」を参照してください。

  7. ユーザーが部門を選択できるように「Employees」レポートを変更します。「「Employees」レポートと「Departments」レポートのリンク」を参照してください。

  8. 「Departments」レポートに、「Employees」レポートにナビゲートするリンクを追加します。「別のページへの列値のリンク」を参照してください。

  9. 部門の詳細を表示するリージョンとしてレポートを追加します。「条件付き「Department Details」レポートの追加」を参照してください。

  10. アプリケーション内のすべてのページに表示されるように会社名を追加します。「会社名の追加」を参照してください。

  11. アプリケーションのテーマを切り替えます。「テーマの切替えによるユーザー・インタフェースの変更」を参照してください。

初期アプリケーションの作成

この最初の演習では、初期アプリケーションの作成について説明します。「アプリケーションの作成」ウィザードを使用して、2つのページを作成し、基本的なアプリケーション機能を指定します。

初期アプリケーションを作成するには、次のステップを実行します。

  1. Application Expressにログインします。

    詳細は、「ホスティングされたデモ環境へのログイン」または「ローカル・インスタンスへのログイン」を参照してください。

  2. 「作業領域」ホームページで、「アプリケーション・ビルダー」をクリックします。

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

    「アプリケーションの作成」ウィザードが表示されます。


    画像の説明

    ウィザード内の各ページには、ウィザードのタイトルが表示されます(「アプリケーションの作成」など)。また、各ウィザード・ページには、左側にステップの順序を示す一連のブロックが表示されます。ハイライト表示されているブロックは、現在実行中のステップです。


    画像の説明

    進行状況がわかるように、これらの演習の各ステップは通常、ブロック・レベルで開始されます。たとえば、「アプリケーションの作成」ウィザードの最初のステップは、「方法」という単語がハイライト表示されます。したがって、次のステップは「方法」から開始することになります。

  4. 「方法」では、デフォルトの「アプリケーションの作成」をそのまま使用し、「次へ」をクリックします。

  5. 「名前」で、次のステップを実行します。

    1. 「名前」で、AnyCo Corpと入力します。

    2. 「アプリケーション」で、デフォルトIDをそのまま使用します。この作業領域で作成する各アプリケーションに対して、システムから一意のIDが表示されます。

    3. 「アプリケーションの作成」で、デフォルトの「最初から」をそのまま使用します。

    4. 「スキーマ」で、このチュートリアルのオブジェクトを含むスキーマを選択します(「TWODAYPLUS」など)。

    5. 次へ」をクリックします。

    次に、アプリケーションにページを追加します。

  6. 「ページ」で、「ページの追加」セクションに次の項目を指定します。

    1. 「ページ・タイプの選択」で、デフォルトの「空白」をそのまま使用します。

    2. 「ページ名」に、Homeと入力します。

    3. ページの追加」をクリックします。

      新しいページが一番上の領域に表示されます。また、引き続き初期アプリケーションにページを追加できるように、「ページの追加」領域が表示されます。


      画像の説明

    次に、OEHR_DEPARTMENTS表のレポート・ページを追加します。

  7. 「ページの追加」セクションで、次のように指定します。

    1. 「ページ・タイプの選択」で、「レポート」を選択します。

    2. 「ページに従属」で、「ホーム」を選択します。

      これにより、アプリケーションのページ間に階層が設定されます。

    3. 「ページ・ソース」で、デフォルトの「」をそのまま使用します。

    4. 「表名」で、「OEHR_DEPARTMENTS」を選択します。

      リストには、アプリケーションに関連付けられているスキーマのすべての表とビューが表示されます。

    5. 「分析ページを含む」は選択しないでください。

      選択した場合は、このページに追加可能なサマリー・レポートとチャートに関する情報を入力するように求められます。

    6. ページの追加」をクリックします。

      「アプリケーションの作成」セクションで表示されるページは、アプリケーションのページ階層が反映されています。

      次に、デフォルトのページ名であるOEHR_DEPARTMENTSをDepartmentsに変更します。

    7. OEHR_DEPARTMENTS」リンクをクリックします。

    8. ページ定義で、「ページ名」をDepartmentsに変更します。

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

    10. 「アプリケーションの作成」セクションで、「次へ」をクリックします。

    最初のページを追加したら、アプリケーション・レベルの設定を定義します。

  8. 「タブ」で、「タブなし」を選択して「次へ」をクリックします。

  9. 「共有コンポーネント」で、デフォルトの「いいえ」をそのまま使用して「次へ」をクリックします。

  10. 「属性」で、すべてのデフォルト値をそのまま使用して「次へ」をクリックします。

    Application Expressは、認証スキーマのデフォルトです。認証スキーマ・オプションを使用すると、Application Express認証や別の種類の認証を使用して、ユーザーのアプリケーションへのアクセスを制御することができます。

  11. 「ユーザー・インタフェース」で、「テーマ18」を選択して「次へ」をクリックします。

  12. 「確認」で、情報を確認して「作成」をクリックします。

    作成した「ホーム」および部門の2つのページは、デフォルトではアイコンとして表示されます。

    注意:

    アイコンのかわりにリストでページを表示するには、「ビュー」リストから「詳細」を選択し、「実行 」をクリックします。ビュー設定は、セッション間で保持されます。

    これらのステップではデフォルト設定を使用するため、続行する前にアイコン・ビューに切り替えてください。 

    Application Expressによって、「ログイン」ページが自動的にアプリケーションに追加されます。


    画像の説明

これでステップは完了しました。Application Expressを使用してアプリケーションが作成されました。次に、このアプリケーションをプレビューし、エンド・ユーザーに対してどのように表示されるかを確認します。

アプリケーションのプレビュー

アプリケーションを実行してプレビューします。アプリケーションを実行すると、エンド・ユーザーに対して表示される状態と同様にレンダリングされたバージョンのアプリケーションが表示されます。

新しいページを作成する場合は、ページを個別に実行するか、またはアプリケーション全体を実行することで、作成したページを表示できます。ページまたはアプリケーションは実行時に、Application Expressエンジンによって、データベースに格納されたデータに応じて表示可能なHTMLに動的にレンダリングされます。

アプリケーションのプレビューを行うには、次のステップを実行します。

  1. 「アプリケーション」ホームページで、「アプリケーションの実行」をクリックします。

  2. 「ログイン」ページで、作業領域のユーザー名とパスワードを入力します。

    アプリケーションの作成時にApplication Express認証を選択しているため、Application Expressのログイン資格証明を使用してアプリケーションを実行できます。詳細は、『Oracle Database Application Expressユーザーズ・ガイド』の認証を介したユーザーの本人確認に関する項を参照してください。

    アプリケーションの「ホーム」ページが表示されます。


    画像の説明

    設定したページ階層を反映して、「ホーム」ページに「Departments」ページへのリンクが表示されます。

    また、ページの下部には「開発者」ツールバーが表示されます。これらのリンクは、開発環境内でアプリケーションを実行すると表示されます。「開発者」ツールバーを使用すると、カレント・ページの編集、新しいページ、リージョンまたはページ・コントロールの作成、セッション・ステートの表示、デバッグ・モードの有効/無効の切替えを簡単に実行できます。

  3. 引き続きアプリケーションのプレビューを行うには、「ホーム」ページの「Departments」リンクをクリックします。

    「Departments」ページが表示されます。


    画像の説明

Application Expressには、特定のタスクを簡単に実行できる次のいくつかの機能が含まれています。

「Departments」レポートの変更

「アプリケーションの作成」ウィザードを実行すると、選択した内容に従ってフォームおよびレポートが作成されます。バックグラウンドでは、Application Expressがユーザーにかわって、データベースから適切なデータを抽出する問合せを作成しています。

この演習では、「Departments」レポートの問合せを変更して、OEHR_EMPLOYEES表の情報を含めます。

「Departments」レポートを変更するには、次のステップを実行します。

  1. 「開発者」ツールバー(ページ下部)の「ページ2の編集」リンクをクリックします。

    ページ2のページ定義が表示されます。ページは、アプリケーションの基本的なビルディング・ブロックです。ページには、タブ、リスト、ボタン、アイテム、リージョンなどのユーザー・インタフェース要素が含まれます。アプリケーションに属する各ページの定義を確認するには、「ページ定義」ページを使用します。詳細は、「アプリケーション・ビルダーの概要」を参照してください。

  2. 「ページ・レンダリング」で、「リージョン」セクションに移動します。


    画像の説明

  3. Departments」をクリックします。

  4. 「ソース」までスクロールして、デフォルトの「リージョン・ソース」のスクリプトを次の内容に置き換えます。

    SELECT d.department_id              "Department ID",
           d.department_name            "Department Name",
           count(e2.employee_id)        "Number of Employees",
           substr(e.first_name,1,1)||'. '|| e.last_name "Manager Name", 
           c.country_name               "Location"
     FROM  oehr_departments d,
           oehr_employees e,
           oehr_locations l, 
           oehr_countries c,
           oehr_employees e2
     WHERE d.manager_id    = e.employee_id 
       AND d.location_id   = l.location_id
       AND d.department_id = e2.department_id
       AND l.country_id    = c.country_id
       AND instr(upper(d.department_name),upper(nvl(:P2_REPORT_SEARCH,d.department_
    name))) > 0
       GROUP BY d.department_id,
                d.department_name,
              substr(e.first_name,1,1)||'. '||e.last_name,  c.country_name
    
    
  5. 変更の適用」をクリックします。

ページの実行

ページを実行して、エンド・ユーザーにページがどのように表示されるのかを確認します。ページを実行すると、Application Expressエンジンによってページの動的なレンダリングおよび処理が行われ、表示可能なHTMLを確認できます。

ページを実行するには、次のステップを実行します。

更新された「Departments」レポートが表示されます。


画像の説明

更新されたレポートには新しく3つの列(Number of Employees、Manager NameおよびLocation)が追加されています。また、データが別の順序で表示されている場合もあります。この差異は無視してステップを続行します。

「Employees」レポートおよびフォームの追加

この演習では、従業員情報を表示するレポートと、従業員情報の作成、更新および削除を行うフォームを追加します。

従業員のレポートおよびフォームを追加するには、次のステップを実行します。

  1. (ページ下部にある)「開発者」ツールバーの「アプリケーション」リンクをクリックします。

    「アプリケーション」ホームページが表示されます。

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

  3. 「ページ」で、次のステップを実行します。

    1. フォーム」を選択して「次へ」をクリックします。

    2. レポート付きの表のフォーム」を選択します。

      このオプションを使用すると、単一の表またはビューに基づいて、2つのページ(レポートとフォーム)が作成されます。

    3. 次へ」をクリックします。

  4. 「表またはビューの指定」で、次のステップを実行します。

    1. 「表/ビューの所有者」で、デフォルトをそのまま使用して「次へ」をクリックします。これにより、スキーマの所有者が指定されます。

    2. 「表/ビューの名前」で、「OEHR_EMPLOYEES」を選択して「次へ」をクリックします。

  5. 「レポート・ページの定義」で、次のように編集します。

    1. 「ページ名」で、Employeesに変更します。

    2. 「リージョン・タイトル」で、Employeesに変更します。

    3. 「ブレッドクラム」で、「ブレッドクラム」を選択します。

      「ブレッドクラム・エントリの作成」セクションが表示されます。

    4. 「親エントリの選択」で、「ホーム」リンクをクリックします。

      「親エントリ」フィールドに「ホーム」が表示されます。

    5. 次へ」をクリックします。

  6. 「レポート・ページの定義」で、デフォルトの「タブを使用しない」をそのまま使用して「次へ」をクリックします。

  7. 「レポート・ページの定義」で、[Ctrl]キーを押しながら次の列を選択して「次へ」をクリックします。

    • EMPLOYEE_ID

    • FIRST_NAME

    • LAST_NAME

    • HIRE_DATE

    • SALARY

    • COMMISSION_PCT

    ここで選択した列は、「レポート」ページに表示されます。

  8. 「レポート・ページの定義」で、デフォルト値をそのまま使用して「次へ」をクリックします。

    デフォルトの「リンクの編集」イメージは、小さい紙と鉛筆に似ています。

    次に、フォームのページとリージョンの情報を定義します。

  9. 「フォーム・ページの定義」で、次のように編集します。

    1. 「ページ名」で、 Create/Edit Employeeと入力します。

    2. 「リージョン・タイトル」で、Create/Edit Employeeと入力します。

    3. 「エントリ名」で、Create/Edit Employeeと入力します。

    4. 次へ」をクリックします。

  10. 「タブ・オプション」で、デフォルトの「タブを使用しない」をそのまま使用して「次へ」をクリックします。

  11. 「主キー」で、デフォルトをそのまま使用して「次へ」をクリックします。

  12. 「主キー列のソースの定義」で、デフォルトの「既存のトリガー」をそのまま使用し、「次へ」をクリックします。

    OEHR_EMPLOYEES表には、すでに主キーを移入するトリガーが含まれています。

  13. 「列を選択」で、すべての列を選択して「次へ」をクリックします。

    これらの列は、「Create/Edit Employee」フォームに表示されます。

  14. 「プロセス・オプションの指定」で、デフォルト値をそのまま使用し、「次へ」をクリックします。

    これらを選択することで、従業員レコードの追加、更新および作成を行うことができます。

  15. 「確認」で、情報を確認して「終了」をクリックします。

ページのプレビュー

作成した2つのページのプレビューを行うには、カレント・ページを実行します。「Employees」レポートからフォームのプレビューを行うことができます。

ページのプレビューを行うには、次のステップを実行します。

  1. ページの実行」アイコンをクリックします。


    画像の説明

    「Employees」レポートが表示されます。


    画像の説明

    「Employees」レポートについては、次のことに注意してください。

    • 選択した「編集」アイコンが各行に表示されます。「編集」アイコンをクリックすると、従業員レコードを編集できます。

    • 「作成」ボタンが右上に表示されます。「作成」ボタンをクリックすると、基礎となる表に従業員を追加できます。

    • 「Employees」レポートには、指定した5つの列が含まれています。列を選択して変更を適用すると、Application Expressによりバックグラウンドで適切なSQLコードが作成され、この結果が生成されます。

    データが別の順序で表示されている場合もあります。その場合、この違いは無視してステップを続行します。

  2. また、作成したフォームを確認するには、「Employee」行の「編集」アイコンをクリックします。

    「Create/Edit Employee」フォームが表示されます。


    画像の説明

    「Create/Edit Employee」フォームについては、次のことに注意してください。

    • フォームに「取消」、「削除」および「変更の適用」の各ボタンが含まれている。

    • 「Hire Date」フィールドにカレンダが表示されている。これは、基礎となる列のデータ型がDATEであるためです。

「Employees」レポートの編集

この演習では、SQLスクリプトを実行して、従業員の給与を計算するファンクションを作成します。次に、Remuneration列を追加して、「Employees」レポートで給与の計算を表示します。

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

ファンクションの作成

最初に、従業員の給与を計算するファンクションを作成します。

ファンクションを作成するには、次のステップを実行します。

  1. (ページ下部にある)「開発者」ツールバーの「アプリケーション」リンクをクリックします。

    「アプリケーション」ホームページが表示されます。

  2. タイトル・バーの「ホーム」ブレッドクラム・リンクをクリックします。


    画像の説明

  3. SQLワークショップ」をクリックして、「SQLコマンド」をクリックします。

    「SQLコマンド」をクリックすると、データベースに対してPL/SQLを実行できるウィンドウが開きます。

  4. SQLエディタに、次のスクリプトを入力します。

    CREATE OR REPLACE FUNCTION calc_remuneration(
      salary IN number, commission_pct IN number) RETURN NUMBER IS
    BEGIN
      RETURN ((salary*12) + (salary * 12 * nvl(commission_pct,0)));
    END;
    /
    
    
  5. 実行」をクリックします。

    「結果」セクションに次のメッセージが表示されます。

    Function created.
    
    

新しい列の追加

次に、従業員の給与計算の結果を表示する新しい列を追加します。

新しい列を追加するには、次のステップを実行します。

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

    1. 「SQLコマンド」ページで、「ホーム」ブレッドクラム・リンクをクリックします。

    2. 「作業領域」ホームページで、「アプリケーション・ビルダー」をクリックします。

    3. AnyCo Corpアプリケーションを選択します。

    4. 3 - Employees」をクリックします。

      ページ3「Employees」のページ定義が表示されます。

  2. 「リージョン」で、「レポート」の横にある「Employees」をクリックします。


    画像の説明

    リージョン定義が表示されます。

  3. 「ソース」までスクロールし、既存のコードを次の内容に置き換えます。

    SELECT "EMPLOYEE_ID", 
           "FIRST_NAME",
           "LAST_NAME",
           "HIRE_DATE",
           "SALARY",
           "COMMISSION_PCT",
           calc_remuneration(salary, commission_pct) REMUNERATION
      FROM "#OWNER#"."OEHR_EMPLOYEES"
    
    
  4. 変更の適用」をクリックします。

ページのプレビュー

ページのプレビューを行うには、ページの右上にある「ページの実行」アイコンをクリックします。新しい列「Remuneration」が追加されています。


画像の説明

列書式の変更

次に、数値を含む列の書式を変更します。

列書式を変更するには、次のステップを実行します。

  1. (ページ上部にある)「開発者」ツールバーの「ページ3の編集」をクリックします。

    ページ定義が表示されます。

  2. 「リージョン」で、「レポート」をクリックします。

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

  3. 「列属性」セクションに移動します。

    次に、該当する列に対して列およびヘッダーの位置合せを変更します。

  4. 「列の位置合せ」で、SALARYCOMMISSION_PCTおよびREMUNERATIONに対して「」を選択します。

  5. 「ヘッダーの位置合せ」で、SALARYCOMMISSION_PCTおよびREMUNERATIONに対して「中央」を選択します。

    次に、列の数値の書式を編集します。

  6. SALARYの書式を編集します。

    1. 「列属性」で、SALARYの横の「編集」アイコンをクリックします。


      画像の説明

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

    2. 「数値/日付書式」で、リストから「$5,234.10」を選択します。

      フィールドに適切な書式マスクが表示されます。

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

  7. REMUNERATIONに対して、前述のステップを繰り返します。

  8. ページのプレビューを行うには、ページの右上にある「ページの実行」アイコンをクリックします。

    Salary列およびRemuneration列の数値は、ドル記号、カンマ、小数点が付いて表示され、正しい位置に配置されるようになりました。


    画像の説明

選択リストとしてのアイテムの表示

この演習では、「Create/Edit Employee」ページの一部のフィールド(アイテム)を編集して、選択リストとして表示します。選択リストとは、アプリケーションのフィールドを移入するために選択可能な値を表示したドロップダウン・リストです。

アイテムを選択リストとして表示するには、通常、次の2つのステップを実行します。

  1. アイテムごとに値のリスト(LOV)を作成します。

  2. 選択リストとして表示され、作成したLOVを適切に参照するようにアイテムを編集します。

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

LOVの作成

次に、ジョブ、従業員および部門のLOVを作成します。

ジョブのLOVの作成

ジョブのLOVを作成するには、次のステップを実行します。

  1. (ページ下部にある)「開発者」ツールバーの「アプリケーション」をクリックします。

  2. 4 - Create/Edit Employee」をクリックします。

  3. 「共有コンポーネント」の「LOV」で、「作成」アイコンをクリックします。「作成」アイコンは、小さなページに重なっているプラス(+)記号のように見えます。


    画像の説明

    「LOVの作成」ウィザードが表示されます。

  4. 「ソース」で、デフォルトの「最初から」をそのまま使用し、「次へ」をクリックします。

  5. 「名前およびタイプ」で、次のステップを実行します。

    1. 「名前」で、JOBSと入力します。

    2. 「タイプ」で、「動的」を選択します。

    3. 次へ」をクリックします。

  6. 「問合せまたは静的値」で、既存のテキストを次の内容に置き換えます。

    SELECT job_title d, job_id v
      FROM oehr_jobs
     ORDER BY d
    
    

    最初に選択された列はユーザーに表示される列(d)であり、2番目に選択された列はデータベースに格納される値またはデータベースから取得される値(v)です。

  7. LOVの作成」をクリックします。

    「共有コンポーネント」は、このページに明示的に追加されると、ページ定義に表示されます。この操作は、チュートリアルの後半で行います。

従業員のLOVの作成

従業員のLOVを作成するには、次のステップを実行します。

  1. 「LOV」で、「作成」アイコンをクリックします。

  2. 「ソース」で、デフォルトの「最初から」をそのまま使用し、「次へ」をクリックします。

  3. 「名前およびタイプ」で、次のステップを実行します。

    1. 「名前」で、EMPLOYEESと入力します。

    2. 「タイプ」で、「動的」を選択します。

    3. 次へ」をクリックします。

  4. 「問合せまたは静的値」で、既存のテキストを次の内容に置き換えます。

    SELECT first_name ||' '|| last_name d, employee_id v
      FROM oehr_employees
     ORDER BY last_name
    
    
  5. LOVの作成」をクリックします。

部門のLOVの作成

部門のLOVを作成するには、次のステップを実行します。

  1. 「LOV」で、「作成」アイコンをクリックします。

  2. 「ソース」で、デフォルトの「最初から」をそのまま使用して「次へ」をクリックします。

  3. 「名前およびタイプ」で、次のステップを実行します。

    1. 「名前」に、DEPARTMENTSと入力します。

    2. 「タイプ」で、「動的」を選択します。

    3. 次へ」をクリックします。

  4. 「問合せまたは静的値」で、既存のテキストを次の内容に置き換えます。

    SELECT department_name d, department_id v
      FROM oehr_departments
     ORDER BY d
    
    
  5. LOVの作成」をクリックします。

選択リストとして表示するためのアイテムの編集

LOVの作成後、選択リストとして表示されるようにこれらのアイテムを編集する必要があります。デフォルトでは、アイテムはテキスト・フィールドとして表示されます。

また、P4_JOB_ID、P4_MANAGER_IDおよびP4_DEPARTMENT_IDのアイテム名を変更する必要があります。

ジョブ・アイテムを編集するには、次のステップを実行します。

  1. 「ページ・レンダリング」で、「アイテム」セクションまでスクロールします。


    画像の説明

    「アイテム」セクションでは、このページのすべてのアイテムが表示されます。現在は、2つのアイテムを除き、すべてのアイテムがデフォルト・タイプのテキスト・フィールドを示しています。

  2. P4_JOB_ID」をクリックします。

    「ページ・アイテムの編集」ページが表示されます。

  3. 「名前」で、「表示形式」から「選択リスト」を選択します。

  4. 「ラベル」で、「ラベル」をJobに変更します。

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

  6. 「名前付きLOV」で、「JOBS」を選択します。

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

マネージャ・アイテムを編集するには、次のステップを実行します。

  1. 「アイテム」で、「P4_MANAGER_ID」をクリックします。

  2. 「名前」で、「表示形式」から「選択リスト」を選択します。

  3. 「ラベル」で、「ラベル」をManagerに変更します。

  4. 「LOV」で、次のステップを実行します。

    1. 「名前付きLOV」に、EMPLOYEESと入力します。

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

    3. 「NULL表示値」で、次のように入力します。

      - No Manager Assigned -
      
      

    Job列は必須であるため、この情報をジョブに含めることはありません。cManagerやDepartmentなどのオプションの列については、選択リストにNULLレコードが表示されるように指定する必要があります。また、このような場合に、ユーザーに表示されるわかりやすいテキストも指定できます。

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

部門アイテムを編集するには、次のステップを実行します。

  1. 「アイテム」で、「P4_DEPARTMENT_ID」をクリックします。

  2. 「名前」で、「表示形式」から「選択リスト」を選択します。

  3. 「ラベル」で、「ラベル」をDepartmentに変更します。

  4. 「LOV」で、次のステップを実行します。

    1. 「名前付きLOV」で、「DEPARTMENTS」を選択します。

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

    3. 「NULL表示値」で、次のように入力します。

      - No Department Assigned -
      
      
  5. 変更の適用」をクリックします。

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


    画像の説明

    フォームに、「Job」、「Manager」および「Department」の各フィールドが選択リストとして表示されるようになりました。

「ホーム」ページでの「Employees」レポートへのリンクの追加

この演習では、「ホーム」ページに、「Employees」レポートへナビゲートするリンクを追加します。このリンクは、「ホーム」ページの左側の「ナビゲーション」リージョンに表示されます。

「ホーム」ページに「Employees」レポートへのリンクを追加するには、次のステップを実行します。

  1. 「ホーム」ページ(ページ1)のページ定義にナビゲートします。

    1. (ページ下部にある)「開発者」ツールバーの「アプリケーション」をクリックします。

    2. 「アプリケーション」ホームページで、「ホーム」をクリックします。

  2. 「リージョン」で、「ナビゲーション」の横にある「リスト」リンクをクリックします。

  3. 「リスト・エントリ」ページで、ページの右側の「リスト・エントリの作成」ボタンをクリックします。

  4. 「リスト・エントリの作成/編集」ページで、次のように編集します。

    1. 「順序」を、20に変更します。

    2. 「リスト・エントリ・ラベル」に、Employeesと入力します。

    3. 「ページ」に、3と入力します。

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

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


    画像の説明

    「ホーム」ページに「Employees」へのリンクが追加されました。

  7. Employees」をクリックして、リンクをテストします。

「Employees」レポートと「Departments」レポートのリンク

この演習では、「Employees」レポートと「Departments」レポートをリンクさせます。これを行うには、ユーザーが部門を選択できるように、「Employees」ページに新しいリージョンと新しいアイテムを作成します。次に、選択した部門に属する従業員のみを表示するように「Employees」レポートを変更します。

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

リージョンの作成

最初に、「Employees」ページにリージョンを作成し、「Department」選択リストを格納します。

リージョンを作成するには、次のステップを実行します。

  1. 「Employees」ページ(ページ3)のページ定義にナビゲートします。

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

  3. 「リージョン」で、次のステップを実行します。

    1. 「このページに追加するリージョン・タイプを指定」で、デフォルトの「HTML」をそのまま使用し、「次へ」をクリックします。

    2. 「作成するHTMLリージョン・コンテナのタイプの選択」で、デフォルトの「HTML」をそのまま使用し、「次へ」をクリックします。

  4. 「表示属性」で、次のステップを実行します。

    1. 「タイトル」で、Departmentと入力します。

    2. 「リージョン・テンプレート」で、「テンプレートなし」を選択します。

      このオプションは、リージョン・タイトルのないリージョンを追加します。

    3. 「順序」で、このリージョンに前述の「Employees」が表示されるように5に変更します。

    4. 残りのデフォルトをそのまま使用して「次へ」をクリックします。

  5. リージョンの作成」をクリックします。

    「リージョン」セクションで、HTMLタイプの「Department」リージョンが表示されるようになりました。


    画像の説明

アイテムの作成

次に、新しい「Department」リージョンでアイテムを作成します。アイテムは「Department」のLOVを使用した選択リストです。

アイテムを作成するには、次のステップを実行します。

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

  2. 「アイテム・タイプ」で、次のステップを実行します。

    1. 「アイテム・タイプの選択」で、「選択リスト」を選択して「次へ」をクリックします。

    2. 「リスト制御タイプの選択」で、「送信機能付き選択リスト」を選択して「次へ」をクリックします。

      このオプションを選択すると、選択リストに対して変更が行われるたびにページがリフレッシュされます。

  3. 「表示位置および名前」で、次のステップを実行します。

    1. 「アイテム名」で、P3_DEPARTMENT_IDに変更します。

    2. 「順序」で、デフォルトの「10」をそのまま使用します。

    3. 「リージョン」で、「Department」を選択します。

    4. 次へ」をクリックします。

  4. 「LOV」で、次のステップを実行します。

    1. 「名前付きLOV」で、「DEPARTMENTS」を選択します。

      「Departments」が選択リストに表示されます。これは、「Departments」を他のページでも使用できる共有コンポーネントとして作成したためです。

    2. 「NULLオプションの表示」で、デフォルトの「はい」をそのまま使用します。

    3. 「NULLテキスト」で、次のように入力します。

      - No Department Assigned -
      
      
    4. 「NULL値」で、次のように入力します。

      -1
      
      

      NULL値を入力すると、エントリに対する問合せの記述および値のデフォルト設定が容易になります。この場合、「No Department Assigned」を選択すると、常にこのアイテムのセッション・ステートは-1に設定されるので、問合せでその値を使用できます。

    5. 次へ」をクリックします。

  5. 「アイテム属性」で、「ラベル」をDepartmentに変更し、「次へ」をクリックします。

  6. 「ソース」で、次のステップを実行します。

    1. 「デフォルト」で、-1と入力します。

    2. 残りのデフォルトをそのまま使用します。

    3. アイテムの作成」をクリックします。

アイテムとレポートのリンク

この時点では、アイテムは作成されていますが、レポートにリンクされていません。アイテムをレポートにリンクするには、「リージョン・ソース」を編集して、WHERE句を追加します。

アイテムをレポートにリンクするには、次のステップを実行します。

  1. 「リージョン」で、「レポート」の横にある「Employees」をクリックします。

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

  3. 「リージョン・ソース」で、既存のコードの末尾に次の内容を追加します。

     WHERE nvl(DEPARTMENT_ID,'-1') = nvl(:P3_DEPARTMENT_ID,'-1')
    
    

    このWHERE句は、選択した部門に属する従業員のみを表示するように問合せを変更します。

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

ブランチの作成

ページを送信すると、ページに定義されているブランチによって、次に表示されるページが決まります。ページを送信する際にこのページを再表示する場合は、同じページへのブランチを作成します。

ブランチを作成するには、次のステップを実行します。

  1. 「ページ・プロセス」の「ブランチ」で、「作成」アイコンをクリックします。


    画像の説明

  2. 「ポイントおよびタイプ」で、デフォルトをそのまま使用して「次へ」をクリックします。

  3. 「ターゲット」で、次のステップを実行します。

    1. 「ページ」に、3と入力します。

    2. このページのページ区切りをリセット」チェック・ボックスを選択します。

      「このページのページ区切りをリセット」オプションを選択すると、アプリケーションによって、ユーザーの新しい問合せに一致するデータの最初のセットが表示されます。このオプションを選択しない場合、ユーザーがデータの3番目のページを表示しているときに別の部門を選択すると、新しい問合せまたは更新された問合せに対してデータの3番目のページが表示されます。

    3. 次へ」をクリックします。

  4. ブランチの作成」をクリックします。

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

  6. 「Department」の選択リストから、「Accounting」を選択します。

    リストには、その部門に所属する従業員のみが表示されます。


    画像の説明

別のページへの列値のリンク

この演習では、ユーザーを「Employees」レポートにナビゲートするリンクを「Departments」レポートに追加します。また、選択した部門にフォーカスを設定します。

この変更を行うには、「Departments」レポートのレポート属性を編集します。

列値をリンクに変更するには、次のステップを実行します。

  1. 「Departments」ページ(ページ2)のページ定義にナビゲートします。

  2. 「リージョン」で、「レポート」をクリックします。

    「リージョン属性」ページが表示されます。

  3. 「列属性」セクションに移動します。

  4. 「列の位置合せ」から、「Number of Employees」に対して「」を選択します。

  5. 「Number of Employees」の横の「編集」アイコンをクリックします。

  6. 「列リンク」セクションまでスクロールします。

  7. 「列リンク」で、次のステップを実行します。

    1. 「リンク・テキスト」で、「#Number of Employees#」を選択します。

    2. 「リンク属性」で、次の内容を入力します。

      alt="View Employees" title="View Employees"
      
      
    3. 「ページ」に、3と入力します。

    4. ページ区切りのリセット」チェック・ボックスを選択します。

    5. 「アイテム1」の「名前」で、「P3-DEPARTMENT_ID」を選択します。

    6. 「アイテム1」の「値」で、「#Department ID#」を選択します。

      「列リンク」セクションでは、選択したオプションがすべて表示されます。


      画像の説明

      要約すると、これらのオプションによって、エンド・ユーザーがリンクをクリックした場合に次の動作が行われるように設定されます。

      • エンド・ユーザーがページ3の「Employees」レポートにナビゲートされます。

      • 「Employees」レポートで、選択した部門がフォーカスされます。

      • ユーザーが別の部門を選択すると、従業員レコードの最初のセットに戻ります。

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

      「列属性」セクションは、「Number of Employees」行の「リンク」列にチェックマークが付いて、変更されたことを示しています。

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

    これで、エンド・ユーザーが「Number of Employees」列のデータをドリルダウンできるようになりました。


    画像の説明

  9. 「Number of Employees」列で、数値をクリックしてリンクをテストします。

    選択した部門に所属する従業員のみが「Employees」レポートに表示されます。

条件付き「Department Details」レポートの追加

この演習では、部門の詳細を表示するリージョンとしてレポートを追加します。また、部門を選択した場合、レポートに部門情報のみを表示するように条件を作成します。「No Department Assigned」を選択すると、「Department Details」レポートは表示されません。

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

レポートと条件の作成

最初にレポートを作成し、条件付きで表示するように設定します。

レポートと条件を作成するには、次のステップを実行します。

  1. ページ3の「Employees」のページ定義にナビゲートします。

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

  3. 「リージョン」で、次のステップを実行します。

    1. 「このページに追加するリージョン・タイプを指定」で、「レポート」を選択して「次へ」をクリックします。

    2. 「レポート実装」で、デフォルトの「SQLレポート」を選択して「次へ」をクリックします。

  4. 「表示属性」で、次のステップを実行します。

    1. 「タイトル」で、Department Detailsと入力します。

    2. 「リージョン・テンプレート」で、「テンプレートなし」を選択します。

    3. 「順序」で、7と入力します。

    4. 残りのデフォルトをそのまま使用して「次へ」をクリックします。

  5. 「ソース」で、次のステップを実行します。

    1. 次の問合せを入力します。

      SELECT count(e2.employee_id) "Number of Employees:",
             substr(e.first_name,1,1)||'. '|| e.last_name "Manager Name:", 
             c.country_name "Location:"
       FROM  oehr_departments d, 
             oehr_employees e, 
             oehr_locations l, 
             oehr_countries c, 
             oehr_employees e2
       WHERE d.manager_id    = e.employee_id 
         AND d.location_id   = l.location_id 
         AND d.department_id = e2.department_id
         AND l.country_id    = c.country_id 
         AND nvl(d.department_id,'-1') = nvl(:P3_DEPARTMENT_ID,'-1')
       GROUP BY substr(e.first_name,1,1)||'. '||e.last_name,  c.country_name
      
      
    2. 「レポート・テンプレート」で、「デフォルト: 縦のレポート、look 1(NULL列を含む)」を選択します。

      この選択を行うと、リストが縦に表示されます。

    3. 残りのデフォルトをそのまま使用して、「次へ」をクリックします。

    次に、ユーザーが「No Department Assigned」オプションを選択した場合は部門の詳細を表示しないという条件を作成します。

  6. 「条件付き表示」で、次のステップを実行します。

    1. 「条件タイプ」で、「式1のアイテムの値!=式2」を選択します。

      感嘆符(!)は、選択するオプションの式1に続いて含まれます。

    2. 「式1」で、次のように入力します。

      P3_DEPARTMENT_ID
      
      
    3. 「式2」で、次のように入力します。

      -1

    4. リージョンの作成」をクリックします。

ページ区切りのオフ設定

次に、「Department Details」レポートのページ区切りをオフにします。これは、一度に1つのレコード(「Department Details」レポート)のみが表示されるためです。ページ区切りをオンのままにすると、部門の詳細を表示するリージョンに情報「 1 - 1」が含まれます。

ページ区切りをオフにするには、次のステップを実行します。

  1. 「リージョン」で、「Department Details」の横にある「レポート」をクリックします。

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

  3. 「ページ区切りスキーム」で、「- ページ区切りが選択されていない -」を選択します。

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

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

  6. 部門のリストから「No Department Assigned」を選択します。


    画像の説明

    従業員キンバリー・グラントが表示されます。この従業員は現在部門に割り当てられていません。そのため、部門の詳細は表示されません。このフォームに表示される1 - 1は「Employees」レポートの一部であり、今回編集を行った「Department Details」リージョンの一部ではありません。

  7. 「Department」リストから、「Marketing」を選択します。


    画像の説明

    「Department」の下に詳細が表示されます。

会社名の追加

グラフィカルなロゴやテキストは、各ぺージに表示されるようにアプリケーションへ追加できます。表示位置はページ・テンプレートにより決まります。

この演習では、アプリケーションに会社名を追加します。

アプリケーションに会社名を追加するには、次のステップを実行します。

  1. 「アプリケーション」ホームページにナビゲートします。(ページ下部にある)「開発者」ツールバーの「アプリケーション」リンクをクリックします。

  2. 共有コンポーネント」をクリックします。

  3. 「アプリケーション」で、「定義」をクリックします。

    「アプリケーション定義の編集」ページが表示されます。

  4. 「ロゴ」で、次のステップを実行します。

    1. 「ロゴ・タイプ」で、「テキスト」を選択します。

    2. 「ロゴ」で、AnyCo Corpと入力します。

    3. 「ロゴ属性」で、「黒色のテキスト」を選択します。

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

  6. アプリケーションを実行します。


    画像の説明

会社名がアプリケーション内の各ページに表示されます。

テーマの切替えによるユーザー・インタフェースの変更

この演習では、アプリケーションの現行のテーマを別のテーマに切り替えます。テーマとは、アプリケーションのユーザー・インタフェースを定義するテンプレートのコレクションです。各テーマには、すべてのタイプのアプリケーション・コンポーネントおよびページ・コントロール(個々のページ、リージョン、レポート、リスト、ラベル、メニュー、ボタン、およびLOV)のテンプレートが含まれています。

Application Expressは、アプリケーション・ロジックから表示(つまりユーザー・インタフェースのテーマ)を分離します。あるテーマでアプリケーションを設計してから別のテーマに変更したり、独自のカスタム・テーマを作成して使用することも可能です。(問合せ、プロセス、ブランチなどの)アプリケーション・ロジックをHTMLレンダリングから分離することで、アプリケーションをリライトせずに、新しい設計および他のテクノロジを使用できます。テーマには多数のテンプレートが集められ、アプリケーションに必要となる可能性があるすべてのユーザー・インタフェースのパターンが収録されています。

テーマを切り替えるには、次のステップを実行します。

  1. (ページ下部にある)「開発者」ツールバーの「アプリケーション」をクリックします。

  2. 「アプリケーション」ホームページで、「共有コンポーネント」をクリックします。

  3. 「ユーザー・インタフェース」で、「テーマ」をクリックします。


    画像の説明

  4. 「テーマ」ページで、「作成」をクリックします。

    「テーマの作成」ウィザードが表示されます。

  5. 「方法」で、デフォルトの「リポジトリから」をそのまま使用し、「次へ」をクリックします。

  6. 「テーマの指定」で、「テーマ11」を選択して「次へ」をクリックします。

  7. 「確認」で、「作成」をクリックします。

  8. テーマの切替え」をクリックします。

  9. 「テーマの指定」で、デフォルトの「11. ラウンド・グリーン」を選択して「次へ」をクリックします。

  10. 「互換性の確認」で、情報を確認し、デフォルトをそのまま使用して「次へ」をクリックします。

    ウィザードでは、新しいテーマに、現行のアプリケーションで使用されている全テンプレートに対応するテンプレートが存在していることが確認されます。テンプレートが欠落している場合は、「ステータス」列に警告メッセージが表示されます。このチュートリアルでは、Application Expressによって欠落しているリージョン・テンプレートが既存のテンプレートにマップされるため、このメッセージを無視することができます。

  11. 「切替えの確認」で、「テーマの切替え」をクリックします。

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


    画像の説明

    新しい色のスキームおよびページ全体の表示のレイアウトに注意してください。


戻る 次へ
Oracle
Copyright © 2007 Oracle Corporation.

All Rights Reserved.
目次
目次
索引
索引