ヘッダーをスキップ
Oracle Database Application Express 2日で開発者ガイド
リリース3.0
E05270-02
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

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. 作成」ボタンをクリックします。

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

    cr_app.gifの説明が続きます。
    cr_app.gifの説明

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

    bldap_wiz_steplst.gifの説明が続きます。
    bldap_wiz_steplst.gifの説明

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

  4. 「方法」で、デフォルトの「アプリケーションの作成」を受け入れて「次へ」をクリックします。

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

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

    2. 「アプリケーション」で、デフォルトのIDを受け入れます。システムにより、この作業領域で作成するアプリケーションごとに一意のIDが提供されます。

    3. 「アプリケーションの作成」で、デフォルトの「最初から」を受け入れます。

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

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

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

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

    1. 「ページ・タイプの選択」で、デフォルトの「空白」を受け入れます。


      ヒント:

      各オプションの説明情報は、ページの右側に表示されます。このページ・レベルのヘルプは、アプリーション全体で表示されます。

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

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

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

    cr_app_add_pg.gifの説明が続きます。
    cr_app_add_pg.gifの説明

    次に、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つのページ(「Home」および「Departments」)は、デフォルトではアイコンで表示されます。


    注意:

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

    これらのステップではデフォルトの設定を使用しているため、続行する前に「アイコン」ビューに戻します。


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

    cr_app_lst_pgs.gifの説明が続きます。
    cr_app_lst_pgs.gifの説明

ステップが完了しました。 Application Expressを使用して、最初のアプリケーションが作成されました。 次に、エンド・ユーザーへの見え方を確認するために、アプリケーションのプレビューを行います。

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

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

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

  • アプリケーションを実行するには、「アプリケーションの実行」アイコンをクリックします。

    run_ico_sm.gifの説明が続きます。
    run_ico_sm.gifの説明

  • ページを実行するには、「ページの実行」アイコンをクリックします。

    run_ico_green.gifの説明が続きます。
    run_ico_green.gifの説明

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

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

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

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

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

    bldap_home.gifの説明が続きます。
    bldap_home.gifの説明

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

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

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

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

    bldap_dept1.gifの説明が続きます。
    bldap_dept1.gifの説明

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

  • ブレッドクラム: ページの階層とパスを表示します。前のページに移動するには、ブレッドクラムをクリックします。

  • ソート: データをソートするには、列ヘッダーをクリックします。

  • 検索: データを入力して、表内のレコードを検索できます。検索では、大/小文字が区別されません。

  • 表示: ページに表示するレコード数を選択します。

  • スプレッドシート: リンクをクリックすると、データをCSVファイルに保存できます。

  • 次へおよび前へ: リンクをクリックすると、レコード・セット間を簡単に移動できます。

  • 行リスト: ページに表示するレコードのセットを選択します。

「Departments」レポートの変更

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

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

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

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

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

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

    reg_sect.gifの説明が続きます。
    reg_sect.gifの説明

  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」レポートが表示されます。

bldap_deptexp.gifの説明が続きます。
bldap_deptexp.gifの説明

更新されたレポートには新しく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. ページの実行」アイコンをクリックします。

    runpg_afterwiz.gifの説明が続きます。
    runpg_afterwiz.gifの説明

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

    bldap_empform.gifの説明が続きます。
    bldap_empform.gifの説明

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

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

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

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

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

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

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

    bldap_empeditfrm.gifの説明が続きます。
    bldap_empeditfrm.gifの説明

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

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

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

「Employees」レポートの編集

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

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

ファンクションの作成

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

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

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

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

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

    home_brdcrmb.gifの説明が続きます。
    home_brdcrmb.gifの説明

  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」をクリックします。

    reg_emplrpt.gifの説明が続きます。
    reg_emplrpt.gifの説明

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

  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」が追加されています。

bldap_empfrmrem.gifの説明が続きます。
bldap_empfrmrem.gifの説明

列書式の変更

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

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

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

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

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

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

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

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

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

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

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

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

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

      edit_icon_col.gifの説明が続きます。
      edit_icon_col.gifの説明

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

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

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

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

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

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

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

    bldap_emprptnum2.gifの説明が続きます。
    bldap_emprptnum2.gifの説明

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

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

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

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

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

LOVの作成

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

ジョブのLOVの作成

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

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

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

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

    bldapp_criconlov.gifの説明が続きます。
    bldapp_criconlov.gifの説明

    「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. 「ページ・レンダリング」で、「アイテム」セクションまでスクロールします。

    item_sect.gifの説明が続きます。
    item_sect.gifの説明

    「アイテム」セクションでは、このページのすべてのアイテムが表示されます。現在は、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列は必須であるため、この情報をジョブに含めることはありません。ManagerやDepartmentなどのオプションの列については、選択リストにNULLレコードが表示されるように指定する必要があります。また、このような場合に、ユーザーに表示されるわかりやすいテキストも指定できます。

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

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

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

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

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

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

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

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

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

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

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

    bldap_empeditfrm_lst.gifの説明が続きます。
    bldap_empeditfrm_lst.gifの説明

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

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

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

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

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

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

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

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

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

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

    1. 順序: 20に変更します。

    2. リスト・エントリ・ラベル: Employeesと入力します。

    3. ページ: 3と入力します。

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

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

    bldap_homeemp.gifの説明が続きます。
    bldap_homeemp.gifの説明

    「ホーム」ページに「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」リージョンが表示されるようになりました。

    reg_sect_depthtml.gifの説明が続きます。
    reg_sect_depthtml.gifの説明

アイテムの作成

次に、新しい「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. 「ページ・プロセス」の「ブランチ」で、「作成」アイコンをクリックします。

    pgproc_branch.gifの説明が続きます。
    pgproc_branch.gifの説明

  2. 「ポイントおよびタイプ」で、デフォルトを受け入れて「次へ」をクリックします。

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

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

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

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

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

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

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

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

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

    bldap_deptfilter.gifの説明が続きます。
    bldap_deptfilter.gifの説明

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

この演習では、ユーザーを「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#」を選択します。

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

      bldap_setnumlink.gifの説明が続きます。
      bldap_setnumlink.gifの説明

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

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

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

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

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

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

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

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

    bldap_numemplink.gifの説明が続きます。
    bldap_numemplink.gifの説明

  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. 「Department」リストから、「No Department Assigned」を選択します。

    bldapp_nodptassgn.gifの説明が続きます。
    bldapp_nodptassgn.gifの説明

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

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

    bldapp_dptdetail.gifの説明が続きます。
    bldapp_dptdetail.gifの説明

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

会社名の追加

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

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

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

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

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

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

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

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

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

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

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

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

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

bldap_compname.gifの説明が続きます。
bldap_compname.gifの説明

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

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

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

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

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

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

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

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

    bldap_sharcomp.gifの説明が続きます。
    bldap_sharcomp.gifの説明

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

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

  5. 「方法」で、デフォルトの「リポジトリから」を受け入れて「次へ」をクリックします。

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

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

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

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

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

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

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

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

    bldap_newtheme2.gifの説明が続きます。
    bldap_newtheme2.gifの説明

    新しいカラー・スキームと表示レイアウトがすべてのページで表示されます。