ヘッダーをスキップ
Oracle® Application Expressアプリケーション・ビルダー・ユーザーズ・ガイド
リリース4.2 for Oracle Database 12c
B71338-03
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

10.2 カレンダの作成

アプリケーション・ビルダーには月次、週次、日次およびリスト表示のカレンダを生成するための組込みウィザードが含まれています。カレンダのベースとなる表を一度指定すると、特定の列に格納された情報へのドリルダウン・リンクを作成して、ドラッグ・アンド・ドロップ機能を有効化できます。


注意:

Oracle Application Expressは、1ページにつき1つのみのカレンダの作成をサポートします。

内容は次のとおりです。

10.2.1 カレンダの作成

アプリケーション・ビルダーでは2つのカレンダ・タイプがサポートされています。

  • 簡易カレンダ: 指定したスキーマ、表および列に基づくカレンダを作成します。ウィザードによって、日付列および表示列の選択を求めるプロンプトが表示されます。「簡易カレンダの作成」を参照してください。

  • SQLカレンダ: 指定したSQL問合せに基づくカレンダを作成します。SQL SELECT文には、少なくとも2つの列(日付列および表示列)が含まれている必要があります。「SQLカレンダの作成」を参照してください。

カレンダの作成方法は、既存のページにカレンダを追加するか、新しいページにカレンダを追加するかによって異なります。カレンダを作成する際は、次の点に注意してください。

  • 各ページに1つのカレンダのみ作成できます。カレンダには、日次、週次および月次表示を含めることができます。

  • 日付列は、エントリが含まれるカレンダ上の日付を決定します。

  • 表示列は、カレンダを表示する特定の行を定義します。


関連項目:

「カレンダ表示」

10.2.1.1 ドラッグ・アンド・ドロップ機能の追加について

簡易カレンダでドラッグ・アンド・ドロップ機能を有効化する場合、この機能を実装するオンデマンド・プロセスが、カレンダの生成プロセスにより自動的に作成されます。ただし、新しいページでSQLカレンダを作成する場合は、「ドラッグ・アンド・ドロップの有効化」オプションは表示されません。この機能を有効化するには、SQLカレンダ・ページを作成してから、ページを編集してドラッグ・アンド・ドロップを有効化します。詳細は、「既存のカレンダでのデータのドラッグ・アンド・ドロップの有効化」を参照してください。

10.2.1.2 サポートされているカレンダ置換文字列

アプリケーション・ビルダーでは、多くの日付書式置換文字列がサポートされています。「カレンダ・テンプレート」ページで、サポートされている置換文字列の完全なリストを表示できます。

カレンダでサポートされている置換文字列のリストを表示するには、次のステップを実行します。

  1. 該当するカレンダ・テンプレートにナビゲートします。

  2. ページの右側の「置換文字列」リストを表示します。

10.2.2 サンプル・カレンダの表示

次に、ITプロジェクトのサンプル・カレンダを示します。

calendar_example.gifの説明が続きます
図calendar_example.gifの説明

このカレンダには次のボタンが含まれています。

  • 月: すべてのプロジェクトを月単位で表示します。

  • 週: プロジェクトを週単位で表示します。

  • 日: プロジェクトを日単位で表示します。

  • リスト: すべてのプロジェクトのリストを表示します。

  • 前へ: 前の表示にナビゲートします。

  • 今日: 現在の日を表示します。

  • 次へ: 次の表示にナビゲートします。

前の例では、カレンダ・エントリをドラッグ・アンド・ドロップすると、別の日付に移動できます。

10.2.3 簡易カレンダの作成

簡易カレンダは、指定したスキーマ、表および列に基づくカレンダを作成します。ウィザードによって、日付列および表示列の選択を求めるプロンプトが表示されます。

内容は次のとおりです。

10.2.3.1 既存ページへの簡易カレンダの追加

既存ページに簡易カレンダを追加するには、次のステップを実行します。

  1. 「カレンダ」リージョンを作成するには、次のステップを実行します。

    1. ページ定義にナビゲートします。「ページ定義へのアクセス」を参照してください。

    2. 「ページ定義」で、新しい「カレンダ」リージョンを作成します。

      • ツリー・ビュー: 「ページ・レンダリング」で、「リージョン」を右クリックし、「作成」を選択します。

      • コンポーネント・ビュー: 「リージョン」で、「作成」アイコンをクリックします。

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

    3. 「カレンダ」を選択して、「次へ」をクリックします。

  2. 「実装」で、「簡易カレンダ」を選択し、「次へ」をクリックします。

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

    1. タイトル: リージョンのタイトルを入力します。選択するリージョン・テンプレートにリージョン・タイトルが表示される際に、このタイトルが表示されます。

    2. リージョン・テンプレート: リージョンの外観を制御するテンプレートを選択します。

    3. 親リージョン: 新しいリージョンが属する親リージョンを定義します。

    4. 表示ポイント: このリージョンの表示ポイントを指定します。ページ・テンプレート位置およびページ・ボディ位置の2種類の表示ポイントが存在します。詳細は、オンライン・ヘルプを参照してください。

    5. 順序: このコンポーネントの順序を指定します。これによって評価の順序が決まります。

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

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

    1. 所有者: カレンダの作成元の表を所有するデータベース・スキーマを選択します。

    2. 表/ビューの名前: カレンダで使用する表を指定します。

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

  5. 「カレンダ属性」で、次のステップを実行します。

    1. 日付列: カレンダ上のエントリの配置に使用する日付として使用する列を指定します。

    2. 表示列: カレンダに表示する列を指定します。

    3. 日付書式: カレンダの日付の表示方法を指定します。オプションは次のとおりです。

      • 日付のみ: 結果は月次およびリスト・カレンダで表示されます。

      • 日付と時間: 結果は月次、週次、日次およびリスト・カレンダで表示されます。

    4. 主キー列: 表内の行を一意に識別する最初の列の名前を選択するか、ROWIDを選択します。ROWIDは、行の組込みのグローバル一意識別子です。次に例を示します。

      EMPNO
      
    5. ドラッグ・アンド・ドロップの有効化: カレンダの他の日付および時刻へのカレンダ・データのドラッグ・アンド・ドロップを有効にするかどうかを指定します。

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

    次に、カレンダ・エントリの「リンクの詳細」を定義します。「リンク・ターゲット」により、ユーザーがカレンダ・エントリを選択したときのリダイレクト先が決まります。選択された「リンク・ターゲット」により、表示される属性が決まります。

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

    1. リンク・ターゲット: カレンダ・エントリがリンク・ターゲットを持つかどうかを指定します。カレンダ・エントリを選択すると、ユーザーはリンク・ターゲットにリダイレクトされます。オプションは次のとおりです。

      • 新規編集ページの作成

      • このアプリケーションのページ

      • URL

      • リンク・ターゲットの除外

    2. 実行可能な操作: 実行できるデータ操作言語(DML)操作を指定します。カレンダ・データのドラッグ・アンド・ドロップを有効化するには、「更新」を選択する必要があります。オプションは次のとおりです。

      • 挿入

      • 更新

      • 削除

    3. ページ番号: 作成するページの一意のページ番号を入力します。

    4. ページ名: 作成するページのタイトルを入力します。

    5. リージョン・テンプレート: 新しいカレンダ・リージョンのリージョン・テンプレートを選択します。

    6. リージョン名: カレンダを含めるリージョンの名前を入力します。

    7. 列の選択: フォームに含める列を選択します。期待どおりに動作させるには、フォームに「Date」列と「主キー」列を含めます。

    8. リンクを次の場所で開く: URLまたはページを開く場所を指定します。

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

  7. 「プロセス・オプション」で、次のステップを実行します。

    1. 「取消」ボタン・ラベル: 「取消」ボタンのラベルを入力します。

    2. 「作成」ボタンの表示: ユーザーがフォームを使用した挿入操作を行えるかどうかを指定します。

    3. 「作成」ボタン・ラベル: 「作成」ボタンのラベルを入力します。

    4. 「保存」ボタンの表示: ユーザーがフォームを使用した更新操作を行えるかどうかを指定します。

    5. 「保存」ボタン・ラベル: 「保存」ボタンのラベルを入力します。

    6. 「削除」ボタンの表示: ユーザーがフォームを使用した削除操作を行えるかどうかを指定します。

    7. 「削除」ボタン・ラベル: 「削除」ボタンのラベルを入力します。

    8. 「次へ」を選択します。

  8. 選択した内容を確認し、「作成」をクリックします。

10.2.3.2 新規ページへの簡易カレンダの追加

新しいページで簡易カレンダを作成するには、次のステップを実行します。

  1. 次のようにして、カレンダ・ページを作成します。

    1. 「ワークスペース」ホームページにナビゲートします。

    2. 「アプリケーション・ビルダー」アイコンをクリックします。

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

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

      ページの作成ウィザードが表示されます。

  2. 「カレンダ」を選択して、「次へ」をクリックします。

  3. 「簡易カレンダ」を選択し、「次へ」をクリックします。

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

    1. ページ番号: 新しいページ番号を指定した場合、ウィザードによって新しいページが作成されます。既存のページ番号を指定した場合、ウィザードによってそのページにコンポーネントが追加されます。

    2. ページ名: 作成するページのタイトルを入力します。

    3. リージョン・テンプレート: 新しいカレンダ・リージョンのリージョン・テンプレートを選択します。テンプレートは、リージョンの外観を制御します。

    4. リージョン名: カレンダを含めるリージョンの名前を入力します。

    5. 表示タイプ: カレンダの動作を決定します。オプションは次のとおりです。

      • 標準: ページが、関連するリクエストとともに送信されます。

      • 部分ページ・リフレッシュ: 「カレンダ」リージョンのみがリフレッシュされます。


      ヒント:

      カレンダが作成されると、表示タイプは変更できません。表示タイプを変更するには、カレンダを削除してから、再作成する必要があります。

    6. ブレッドクラム: ページでブレッドクラム・ナビゲーション・コントロールを使用するかどうか、およびどのブレッドクラム・ナビゲーション・コントロールを使用するかを選択します。

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

  5. 「タブ・オプション」で、タブ実装を指定し、「次へ」をクリックします。

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

    1. 所有者: カレンダの作成元の表を所有するデータベース・スキーマを選択します。

    2. 表/ビューの名前: カレンダで使用する表を指定します。

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

  7. 「カレンダ属性」で、次のステップを実行します。

    1. 日付列: カレンダにエントリを配置する際に、日付として使用する列を指定します。

    2. 表示列: カレンダに表示する列を指定します。

    3. 日付書式: カレンダの日付の表示方法を指定します。オプションは次のとおりです。

      • 日付のみ: 結果は月次およびリスト・カレンダで表示されます。

      • 日付と時間: 結果は月次、週次、日次およびリスト・カレンダで表示されます。

    4. 主キー列: 表内の行を一意に識別する最初の列の名前を選択するか、ROWIDを選択します。

      ROWIDは、行の組込みのグローバル一意識別子です。この列は、追加または編集のため、およびカレンダでのドラッグ・アンド・ドロップのために使用されます。次に例を示します。

      EMPNO
      
    5. カスタム日付範囲: カスタムの開始日および終了日を含めるかどうかを指定します。1か月を超える分を月次カレンダに表示できるようにする場合に、このオプションを使用します。

    6. ドラッグ・アンド・ドロップの有効化: 「はい」または「いいえ」を選択します。カレンダ・データをカレンダ上の別の日付および時間にドラッグ・アンド・ドロップできるようにします。


      ヒント:

      「ドラッグ・アンド・ドロップの有効化」で「はい」を選択すると、ウィザードにより自動的にオンデマンド・プロセスが作成されます。

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

    次に、カレンダ・エントリの「リンクの詳細」を定義します。「リンク・ターゲット」により、ユーザーがカレンダ・エントリを選択したときのリダイレクト先が決まります。選択された「リンク・ターゲット」により、表示される属性が決まります。

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

    1. リンク・ターゲット: カレンダ・エントリがリンク・ターゲットを持つかどうかを指定します。カレンダ・エントリを選択すると、ユーザーはリンク・ターゲットにリダイレクトされます。オプションは次のとおりです。

      • 新規編集ページの作成

      • このアプリケーションのページ

      • URL

      • リンク・ターゲットの除外

    2. 実行可能な操作: 実行できるデータ操作言語(DML)操作を指定します。カレンダ・データのドラッグ・アンド・ドロップを有効化するには、「更新」を選択する必要があります。オプションは次のとおりです。

      • 挿入

      • 更新

      • 削除

    3. ページ番号: 作成するページの一意のページ番号を入力します。

    4. ページ名: 作成するページのタイトルを入力します。

    5. リージョン名: カレンダを含めるリージョンの名前を入力します。

    6. リージョン・テンプレート: 新しいカレンダ・リージョンのリージョン・テンプレートを選択します。

    7. リージョン名: カレンダを含めるリージョンの名前を入力します。

    8. 列の選択: フォームに含める列を選択します。期待どおりに動作させるには、フォームに「Date」列と「主キー」列を含めます。

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

  9. 「プロセス・オプション」で、次のステップを実行します。

    1. 「取消」ボタン・ラベル: 「取消」ボタンのラベルを入力します。

    2. 「作成」ボタンの表示: ユーザーがフォームを使用した挿入操作を行えるかどうかを指定します。

    3. 「作成」ボタン・ラベル: 「作成」ボタンのラベルを入力します。

    4. 「保存」ボタンの表示: ユーザーがフォームを使用した更新操作を行えるかどうかを指定します。

    5. 「保存」ボタン・ラベル: 「保存」ボタンのラベルを入力します。

    6. 「削除」ボタンの表示: ユーザーがフォームを使用した削除操作を行えるかどうかを指定します。

    7. 「削除」ボタン・ラベル: 「削除」ボタンのラベルを入力します。

    8. 「次へ」を選択します。

  10. 選択した内容を確認し、「作成」をクリックします。

10.2.4 SQLカレンダの作成

SQLカレンダは、指定したSQL問合せに基づくカレンダを作成します。SQLカレンダを作成する際に、日付列および表示列を選択する必要があります。また、SQLソースを使用しているため、主キーを明示的に指定する必要があります。

内容は次のとおりです。


ヒント:

SQLカレンダの作成時に、ドラッグ・アンド・ドロップ機能を有効化するために、オンデマンド・プロセスを手動で作成する必要があります。「既存のカレンダでのデータのドラッグ・アンド・ドロップの有効化」を参照してください。

10.2.4.1 既存ページへのSQLカレンダの追加

既存ページにSQLカレンダを追加するには、次のステップを実行します。

  1. 「カレンダ」リージョンを作成するには、次のステップを実行します。

    1. ページ定義にナビゲートします。「ページ定義へのアクセス」を参照してください。

    2. 「ページ定義」で、新しい「カレンダ」リージョンを作成します。

      • ツリー・ビュー: 「ページ・レンダリング」で、「リージョン」を右クリックし、「作成」を選択します。

      • コンポーネント・ビュー: 「リージョン」で、「作成」アイコンをクリックします。

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

    3. 「カレンダ」を選択して、「次へ」をクリックします。

  2. 「実装」で、「SQLカレンダ」を選択し、「次へ」をクリックします。

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

    1. タイトル: リージョンのタイトルを入力します。選択するリージョン・テンプレートにリージョン・タイトルが表示される際に、このタイトルが表示されます。

    2. リージョン・テンプレート: リージョンの外観を制御するテンプレートを選択します。

    3. 親リージョン: 新しいリージョンが属する親リージョンを定義します。

    4. 表示ポイント: このリージョンの表示ポイントを指定します。ページ・テンプレート位置およびページ・ボディ位置の2種類の表示ポイントが存在します。詳細は、アイテムのヘルプを参照してください。

    5. 順序: このコンポーネントの順序を指定します。これによって評価の順序が決まります。

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

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

    1. SQL問合せの入力: カレンダで使用するSELECT文を入力します。

      次の構文を使用します。

      SELECT id, name, date 
      FROM ...
      

      次のことに注意してください。

      • 少なくとも2列を含める必要があり、そのうちの1つはDATE列である必要があります。最初の列は、データ操作言語(DML)操作を管理するために使用される主キー列を識別します。

      • ページ下部で例を確認してください。

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

  5. 「カレンダ属性」で、次のステップを実行します。

    1. 日付列: カレンダ上のエントリの配置に使用する日付として使用する列を指定します。

    2. 表示列: カレンダに表示する列を指定します。

    3. 日付書式: カレンダの日付の表示方法を指定します。オプションは次のとおりです。

      • 日付のみ: 結果は月次およびリスト・カレンダで表示されます。

      • 日付と時間: 結果は月次、週次、日次およびリスト・カレンダで表示されます。

    4. カスタム日付範囲: カスタムの開始日および終了日を含めるかどうかを指定します。1か月を超える分を月次カレンダに表示できるようにする場合に、このオプションを使用します。

    5. ドラッグ・アンド・ドロップの有効化: 「はい」または「いいえ」を選択します。カレンダ・データをカレンダ上の別の日付および時間にドラッグ・アンド・ドロップできるようにします。


      ヒント:

      SQLカレンダの作成時に、ドラッグ・アンド・ドロップ機能を有効化するために、オンデマンド・プロセスを手動で作成する必要があります。「既存のカレンダでのデータのドラッグ・アンド・ドロップの有効化」を参照してください。

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

    次に、カレンダ・エントリの「リンクの詳細」を定義します。「リンク・ターゲット」により、ユーザーがカレンダ・エントリを選択したときのリダイレクト先が決まります。選択された「リンク・ターゲット」により、表示される属性が決まります。

  6. リンクの詳細、リンク・ターゲット - カレンダ・エントリがリンク・ターゲットを持つかどうかを指定します。カレンダ・エントリを選択すると、ユーザーはリンク・ターゲットにリダイレクトされます。オプションは次のとおりです。

    • 新規編集ページの作成

    • このアプリケーションのページ

    • URL

    • リンク・ターゲットの除外

    表示されるオプションは、選択するリンク・ターゲットのタイプによって異なります。ページ上の特定のアイテムの詳細を表示するには、アイテム・ラベルをクリックします。

  7. 「リンク・ターゲット」で「新規編集ページの作成」を選択した場合は、次のとおりです。

    1. リンク・ターゲット - 新規編集ページの作成を選択します。

    2. ソース表の主キー列 - 表内の行を一意に識別する最初の列の名前を選択するか、ROWIDを選択します。ROWIDは、行の組込みのグローバル一意識別子です。この列は、カレンダでのドラッグ・アンド・ドロップの他に、追加または編集のために使用されます。

    3. 実行可能な操作: 実行できるデータ操作言語(DML)操作を指定します。

      • 挿入

      • 更新

      • 削除

      カレンダ・データでのドラッグ・アンド・ドロップを有効化するには、「更新」を選択する必要があります。

    4. ページ番号: 作成するページの一意のページ番号を入力します。

    5. ページ名: 作成するページのタイトルを入力します。

    6. リージョン・テンプレート: 新しいカレンダ・リージョンのリージョン・テンプレートを選択します。

    7. リージョン名: カレンダを含めるリージョンの名前を入力します。

    8. 所有者: 表を所有するスキーマを指定します。

    9. 表/ビューの名前: このカレンダのベースにするデータベース・オブジェクト(表またはビュー)を選択します。

    10. 日付列: カレンダにエントリを配置する際に、日付として使用する列を指定します。

    11. 主キーのタイプ: オプションには次のものがあります。

      • データベースで管理(ROWID): フォームは、ROWID擬似列を使用して、更新および削除する行を識別します。

      • 主キー列の選択: ソース表の主キー列を使用します。

    12. 列の選択: フォームに含める列を選択します。必要な機能のフォームには日付および主キー列を含める必要があります。

    13. リンクを次の場所で開く: URLまたはページを開く場所を選択します。オプションは次のとおりです。

      • 同じウィンドウ

      • ポップアップ・ウィンドウ

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

  8. 「リンク・ターゲット」で「このアプリケーションのページ」を選択した場合は、次のとおりです。

    1. リンク・ターゲット - このアプリケーションのページを選択します。

    2. ソース表の主キー列 - 表内の行を一意に識別する最初の列の名前を選択するか、ROWIDを選択します。ROWIDは、行の組込みのグローバル一意識別子です。この列は、カレンダでのドラッグ・アンド・ドロップの他に、追加または編集のために使用されます。

    3. ページ - カレンダ・エントリ・リンクのターゲット・ページ番号を指定します。

    4. ターゲット・ページの日付アイテム - データの追加時に日付値を渡すために使用されるターゲット・ページのページ・アイテムを指定します。

    5. リージョン・テンプレート: 新しいカレンダ・リージョンのリージョン・テンプレートを選択します。

    6. ターゲット・ページの主キー・アイテム - データの追加時に日付値を渡すために使用されるターゲット・ページのページ・アイテムを指定します。

    7. リンクを次の場所で開く: URLまたはページを開く場所を選択します。オプションは次のとおりです。

      • 同じウィンドウ

      • ポップアップ・ウィンドウ

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

  9. 「リンク・ターゲット」で「URL」を選択した場合は、次のとおりです。

    1. リンク・ターゲット - URLを選択します。

    2. URLターゲット - カレンダ・リンクの宛先として機能するURLを指定します。

    3. リンクを次の場所で開く: URLまたはページを開く場所を選択します。オプションは次のとおりです。

      • 同じウィンドウ

      • ポップアップ・ウィンドウ

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

  10. 「リンク・ターゲット」で「リンク・ターゲットの除外」を選択した場合は、次のとおりです。

    1. リンク・ターゲット - リンク・ターゲットの除外を選択します。

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

  11. 「プロセス・オプション」を選択した場合は、次のとおりです。

    1. 「取消」ボタン・ラベル: 「取消」ボタンのラベルを入力します。

    2. 「作成」ボタンの表示: ユーザーがフォームを使用した挿入操作を行えるかどうかを指定します。

    3. 「作成」ボタン・ラベル: 「作成」ボタンのラベルを入力します。

    4. 「保存」ボタンの表示: ユーザーがフォームを使用した更新操作を行えるかどうかを指定します。

    5. 「保存」ボタン・ラベル: 「保存」ボタンのラベルを入力します。

    6. 「削除」ボタンの表示: ユーザーがフォームを使用した削除操作を行えるかどうかを指定します。

    7. 「削除」ボタン・ラベル: 「削除」ボタンのラベルを入力します。

    8. 「次へ」を選択します。

  12. 選択した内容を確認し、「作成」をクリックします。

10.2.4.2 新しいページへのSQLカレンダの追加

新しいページで簡易カレンダを作成するには、次のステップを実行します。

  1. 次のようにして、カレンダ・ページを作成します。

    1. 「ワークスペース」ホームページにナビゲートします。

    2. 「アプリケーション・ビルダー」アイコンをクリックします。

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

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

    5. 「カレンダ」を選択して、「次へ」をクリックします。

  2. 「ページ」で、「SQLカレンダ」を選択し、「次へ」をクリックします。

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

    1. ページ番号: 新しいページ番号を指定した場合、ウィザードによって新しいページが作成されます。既存のページ番号を指定した場合、ウィザードによってそのページにコンポーネントが追加されます。

    2. ページ名: 作成するページのタイトルを入力します。

    3. リージョン・テンプレート: 新しいカレンダ・リージョンのリージョン・テンプレートを選択します。

    4. リージョン名: カレンダを含めるリージョンの名前を入力します。

    5. 表示タイプ: カレンダの動作を決定します。オプションは次のとおりです。

      • 標準: ページが、関連するリクエストとともに送信されます。

      • 部分ページ・リフレッシュ: 「カレンダ」リージョンのみがリフレッシュされます。


      ヒント:

      カレンダが作成されると、表示タイプは変更できません。表示タイプを変更するには、カレンダを削除してから、再作成する必要があります。

    6. ブレッドクラム - ページでブレッドクラム・ナビゲーション・コントロールを使用するかどうか、およびどのブレッドクラム・ナビゲーション・コントロールを使用するかを選択します。

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

  4. 「タブ・オプション」で、タブ実装を指定し、「次へ」をクリックします。

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

    1. SQL問合せの入力: カレンダで使用するSELECT文を入力します。

      次の構文を使用します。

      SELECT id, name, date 
      FROM ...
      

      次のことに注意してください。

      • 少なくとも2列を含める必要があり、そのうちの1つはDATE列である必要があります。最初の列は、データ操作言語(DML)操作を管理するために使用される主キー列を識別します。

      • ページ下部で例を確認してください。

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

  6. 「カレンダ属性」で、次のステップを実行します。

    1. 日付列: エントリのカレンダへの配置に使用する日付として使用する列を指定します。

    2. 表示列: カレンダに表示する列を指定します。

    3. 日付書式: カレンダの日付の表示方法を指定します。オプションは次のとおりです。

      • 日付のみ: 結果は月次およびリスト・カレンダで表示されます。

      • 日付と時間: 結果は月次、週次、日次およびリスト・カレンダで表示されます。

    4. 主キー列: 表内の行を一意に識別する最初の列の名前を選択するか、ROWIDを選択します。ROWIDは、行の組込みのグローバル一意識別子です。

    5. カスタム日付範囲: カスタムの開始日および終了日を含めるかどうかを指定します。1か月を超える分を月次カレンダに表示できるようにする場合に、このオプションを使用します。

    6. ドラッグ・アンド・ドロップの有効化: カレンダの他の日付および時刻へのカレンダ・データのドラッグ・アンド・ドロップを有効にするかどうかを指定します。


      ヒント:

      SQLカレンダの作成時に、ドラッグ・アンド・ドロップ機能を有効化するために、オンデマンド・プロセスを手動で作成する必要があります。「既存のカレンダでのデータのドラッグ・アンド・ドロップの有効化」を参照してください。

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

    次に、カレンダ・エントリの「リンクの詳細」を定義します。「リンク・ターゲット」により、ユーザーがカレンダ・エントリを選択したときのリダイレクト先が決まります。選択された「リンク・ターゲット」により、表示される属性が決まります。

  7. リンクの詳細、リンク・ターゲット - カレンダ・エントリがリンク・ターゲットを持つかどうかを指定します。カレンダ・エントリを選択すると、ユーザーはリンク・ターゲットにリダイレクトされます。オプションは次のとおりです。

    • 新規編集ページの作成

    • このアプリケーションのページ

    • URL

    • リンク・ターゲットの除外

    表示されるオプションは、選択するリンク・ターゲットのタイプによって異なります。ページ上の特定のアイテムの詳細を表示するには、アイテム・ラベルをクリックします。

  8. 「リンク・ターゲット」で「新規編集ページの作成」を選択した場合は、次のとおりです。

    1. リンク・ターゲット - 新規編集ページの作成を選択します。

    2. 実行可能な操作: 実行できるデータ操作言語(DML)操作を指定します。

      • 挿入

      • 更新

      • 削除

      カレンダ・データでのドラッグ・アンド・ドロップを有効化するには、「更新」を選択する必要があります。

    3. ページ番号: 作成するページの一意のページ番号を入力します。

    4. ページ名: 作成するページのタイトルを入力します。

    5. リージョン・テンプレート: 新しいカレンダ・リージョンのリージョン・テンプレートを選択します。

    6. リージョン名: カレンダを含めるリージョンの名前を入力します。

    7. 所有者: 表を所有するスキーマを指定します。

    8. 表/ビューの名前: このカレンダのベースにするデータベース・オブジェクト(表またはビュー)を選択します。

    9. 日付列: カレンダにエントリを配置する際に、日付として使用する列を指定します。

    10. 主キーのタイプ: オプションには次のものがあります。

      • データベースで管理(ROWID): フォームは、ROWID擬似列を使用して、更新および削除する行を識別します。

      • 主キー列の選択: ソース表の主キー列を使用します。

    11. 列の選択: フォームに含める列を選択します。必要な機能のフォームには日付および主キー列を含める必要があります。

    12. リンクを次の場所で開く: URLまたはページを開く場所を選択します。オプションは次のとおりです。

      • 同じウィンドウ

      • ポップアップ・ウィンドウ

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

  9. 「リンク・ターゲット」で「このアプリケーションのページ」を選択した場合は、次のとおりです。

    1. リンク・ターゲット - このアプリケーションのページを選択します。

    2. ページ - カレンダ・エントリ・リンクのターゲット・ページ番号を指定します。

    3. ターゲット・ページの日付アイテム - データの追加時に日付値を渡すために使用されるターゲット・ページのページ・アイテムを指定します。

    4. リージョン・テンプレート: 新しいカレンダ・リージョンのリージョン・テンプレートを選択します。

    5. ターゲット・ページの主キー・アイテム - データの追加時に日付値を渡すために使用されるターゲット・ページのページ・アイテムを指定します。

    6. リンクを次の場所で開く: URLまたはページを開く場所を選択します。オプションは次のとおりです。

      • 同じウィンドウ

      • ポップアップ・ウィンドウ

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

  10. 「リンク・ターゲット」で「URL」を選択した場合は、次のとおりです。

    1. リンク・ターゲット - URLを選択します。

    2. URLターゲット - カレンダ・リンクの宛先として機能するURLを指定します。

    3. リンクを次の場所で開く: URLまたはページを開く場所を選択します。オプションは次のとおりです。

      • 同じウィンドウ

      • ポップアップ・ウィンドウ

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

  11. 「リンク・ターゲット」で「リンク・ターゲットの除外」を選択した場合は、次のとおりです。

    1. リンク・ターゲット - リンク・ターゲットの除外を選択します。

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

  12. 「プロセス・オプション」を選択した場合は、次のとおりです。

    1. 「取消」ボタン・ラベル: 「取消」ボタンのラベルを入力します。

    2. 「作成」ボタンの表示: ユーザーがフォームを使用した挿入操作を行えるかどうかを指定します。

    3. 「作成」ボタン・ラベル: 「作成」ボタンのラベルを入力します。

    4. 「保存」ボタンの表示: ユーザーがフォームを使用した更新操作を行えるかどうかを指定します。

    5. 「保存」ボタン・ラベル: 「保存」ボタンのラベルを入力します。

    6. 「削除」ボタンの表示: ユーザーがフォームを使用した削除操作を行えるかどうかを指定します。

    7. 「削除」ボタン・ラベル: 「削除」ボタンのラベルを入力します。

    8. 「次へ」を選択します。

  13. 選択した内容を確認し、「作成」をクリックします。

10.2.5 カレンダ属性の編集

作成したカレンダは、カレンダ属性ページで属性を編集することで表示を変更できます。

カレンダの表示を無効にするには、カレンダ・ページで、「毎月」、「毎週」または「毎日」ボタンを削除する必要があります。

内容は次のとおりです。

10.2.5.1 カレンダ属性ページへのアクセス

カレンダ属性ページにアクセスするには、次のステップを実行します。

  1. 該当するページ定義にナビゲートします。「ページ定義へのアクセス」を参照してください。

  2. カレンダ属性ページにアクセスします。

    • ツリー・ビュー: 「ページ・レンダリング」で、リージョン名をダブルクリックします。

    • コンポーネント・ビュー: 「リージョン」で、リージョン名を選択します。

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

  3. 「カレンダ属性」をクリックします。

  4. 対象となる属性を編集します。ページ上の特定のアイテムの詳細を表示するには、アイテム・ラベルをクリックします。

    ヘルプが使用可能な場合は、アイテムにカーソルをあわせると、カーソルが疑問符付きの矢印に変わります。

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

10.2.5.1.1 ナビゲーションの選択肢について

カレンダ属性ページはセクションに分かれています。

これらのセクションにアクセスするには、ページをスクロール・ダウンするか、ページ上部のナビゲーション・ボタンをクリックします。ページ上部のボタンを選択すると、選択されたセクションが表示され、その他のセクションはすべて一時的に非表示になります。ページのすべてのセクションを表示するには、「すべて表示」をクリックします。

10.2.5.2 カレンダ属性ページについて

次のトピックではカレンダ属性ページの各セクションを説明します。これらの属性を使用することで一般的なカレンダ書式設定の指定、カレンダに含まれる日付の定義、もしくはカレンダの列または日付へのリンクの作成を実行できます。

10.2.5.2.1 カレンダ表示

「カレンダ表示」を使用して、カレンダ・テンプレート、日付列および一般的なカレンダ書式設定を指定できます。表10-2に、「カレンダ表示」属性を示します。

表10-2 「カレンダ表示」属性

属性 説明

カレンダ・テンプレート

Application Expressエンジンによってカレンダがレンダリングされるときに使用されるテンプレートを決定します。

簡易SQL表の所有者

カレンダのベースにする表のデータベース所有者を示します。

簡易SQL表

カレンダのベースにするデータベース表を示します。

日付列

カレンダに配置する日付を含む表または問合せからの列を定義します。

日付書式

カレンダの日付の表示方法を指定します。オプションは次のとおりです。

  • 日付のみ

  • 日付と時間

日付アイテム

カレンダの基になる日付を保持するアイテムを定義します。

終了日アイテム

「カスタム」タイプのカレンダのベースになる終了日を保持するアイテムを指定します。

カレンダ・タイプ列

カレンダ・タイプを保持するアイテムを指定します。

表示タイプ

表示タイプを定義します。オプションは次のとおりです。

  • カスタム

  • 表示値なし

「表示タイプ」が「列」の場合、「表示列」属性を使用して、月次カレンダの日付のセルに表示する列を選択します。

「表示タイプ」が「カスタム」の場合、「列の書式」に、HTML式とサポートされている置換文字列を使用して、カスタム列の書式を入力します。

表示列

「表示タイプ」が「列」に設定されている場合は、月次カレンダの日付セルに表示する列を選択します。複数の列を表示するには、表示タイプを変更します。

主キー列

カレンダを使用してデータを編集するときに渡される主キー列の値。この値は、「列」リンク・アイテム値が#PRIMARY_KEY_VALUE#の場合にのみ、ターゲット・ページに渡されます。

列書式

対象の列に表示するHTML式を入力します。HTMLで列値を示すには、#COLUMN#構文を使用します。次に例を示します。

#EMPLOYEE_NAME#

次の例では、列にイメージを表示する方法を示します。

<img src="#IMAGE_NAME#">

10.2.5.2.2 表示属性

「表示属性」を使用して、カレンダに含める日付を定義します。表10-3に、「表示」属性を示します。

表10-3 「表示」属性

属性 説明

間隔の最初から開始

カレンダの開始時期を決定します。このオプションを選択すると、期間全体(たとえば、1か月間)のカレンダが作成されます。次に例を示します。

  • 「間隔の最初から開始」を選択した場合、6月15日に月次カレンダを表示すると、6月1日から6月30日のカレンダが作成されます。

  • 「間隔の最初から開始」を選択しない場合、6月15日に月次カレンダを表示すると、6月15日から6月30日のカレンダが作成されます。

月次カレンダの週の開始

月次表示のカレンダの開始曜日を決定します。

週次カレンダの開始日

週次カレンダの開始日を選択します。

週次カレンダの終了日

週次カレンダの終了日を選択します。

時間書式

時間書式を選択します。時間表示を12時間表示と24時間表示のどちらにするかを決定します。

開始時間

週次カレンダおよび日次カレンダを表示する開始時間を入力します。

終了時間

週次カレンダおよび日次カレンダを表示する終了時間を入力します。

データ背景色

カレンダに表示するこのデータの背景色を指定します。

データ・テキストの色

カレンダに表示するデータのテキストの色を指定します。

カスタム・ビュー日数

カスタム・カレンダに表示される日数の合計を入力します。


10.2.5.2.3 列リンク

「列リンク」を使用して、カレンダに表示するエントリ上のリンクを作成します。

これらの値によりセッション・ステートを設定するには、次のステップを実行します。

  1. 該当するカレンダ属性ページにナビゲートします。「カレンダ属性ページへのアクセス」を参照してください。

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

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

  4. 「リンクを次の場所で開く」で、URLまたはページを開く場所を選択します。オプションは次のとおりです。

    • 同じウィンドウ

    • ポップアップ・ウィンドウ

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

  6. 「リクエスト」で、REQUESTと呼ばれる組込みアプリケーション・アイテムのテキストを入力します。これは、クリックしたボタンの名前で設定されるアイテムでもあります。

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

    「次のアイテムを設定」と「次の値を使用」という2つの属性を使用して、セッション・ステートの設定(リストしたアイテムへの値の指定)を行うことができます。

  8. これらの値によりセッション・ステートを設定するには、次のステップを実行します。

    1. 「次のアイテムを設定」で、セッション・ステートを設定するアイテム名をカンマで区切って入力します。

    2. 「次の値を使用」で、前述のステップで指定したアイテムの値をカンマで区切って入力します。

      静的な値または置換構文(&APP_ITEM_NAME.など)を指定できます。URLのf?p=に渡されるアイテム値にコロン(:)は使用できないことに注意してください。また、バックスラッシュでアイテム値全体を囲んだ場合(\1234,56\など)を除いて、カンマも使用しないでください。

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

URLへの列リンクを作成するには、次のステップを実行します。

  1. 該当するカレンダ属性ページにナビゲートします。

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

  3. 「ターゲット」から、「URL」を選択します。

  4. 「URLターゲット」で、適切なアドレスを入力します。

    URLへの列リンクを使用して、次のことを行えます。

    • 問合せにより定義されたURLにリンクします。たとえば、次のようにします。

      #URL#
      

      ここで、URLは適切なURLを定義する問合せの列別名です。

    • 問合せから、コールするページに値を渡します。たとえば、次のようにします。

      f?p=&FLOW_ID.:3:&SESSION.::&DEBUG.:3:P3_EVENT_ID,P3_PREV_PAGE:#EVENT_ID#,1
      

      ここで、EVENT_IDは問合せの列の別名です。

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

10.2.5.2.4 日付のリンク

「日付リンク」を使用して、カレンダの日付にリンクを作成します。この属性によって、カレンダの実際の数字(日付)にリンクが作成されます。

別のページへの日付リンクを作成するには、次のステップを実行します。

  1. 該当するカレンダ属性ページにナビゲートします。「カレンダ属性ページへのアクセス」を参照してください。

  2. 「日付のリンク」までスクロールします。

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

  4. 「ページ」で、ターゲット・ページ番号を指定します。

    このページのページ区切りをリセットするには、「このページのページ区切りをリセット」を選択します。

  5. 「リクエスト」で、REQUESTと呼ばれる組込みアプリケーション・アイテムのテキストを入力します。これは、クリックしたボタンの名前で設定されるアイテムでもあります。

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

    「次のアイテムを設定」と「次の値を使用」という2つの属性を使用して、セッション・ステートの設定(リストしたアイテムへの値の指定)を行うことができます。

  7. セッション・ステートを設定するには、次のステップを実行します。

    1. 「次のアイテムを設定」で、セッション・ステートを設定するアイテム名をカンマで区切って入力します。

    2. 「次の値を使用」で、前述のステップで指定したアイテムの値をカンマで区切って入力します。

      静的な値または置換構文(&APP_ITEM_NAME.など)を指定できます。URLのf?p=に渡されるアイテム値にコロン(:)は使用できないことに注意してください。また、バックスラッシュでアイテム値全体を囲んだ場合(\1234,56\など)を除いて、カンマも使用しないでください。

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

URLへの日付リンクを作成するには、次のステップを実行します。

  1. 該当するカレンダ属性ページにナビゲートします。

  2. 「日付のリンク」までスクロールします。

  3. 「ターゲット」から、「URL」を選択します。

  4. 「URLターゲット」で、適切なアドレスを入力します。

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

10.2.6 追加および編集機能を含めるように既存のカレンダを編集

追加および編集機能を含めるように既存のカレンダを編集するには、次のステップを実行します。

  1. 該当するカレンダ属性ページにナビゲートします。「カレンダ属性ページへのアクセス」を参照してください。

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

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

    2. リンクを次の場所で開く: URLまたはページを開く場所を選択します。オプションは次のとおりです。

      • 同じウィンドウ

      • ポップアップ・ウィンドウ

    3. ページ: フォームのページ番号を指定します。

    4. 次のアイテムを設定: ターゲット・フォーム・ページから主キーおよび日付列を選択します。


      ヒント:

      選択した日付列にはRRRRMMDDHH24MISSという書式マスクが必要です(カレンダはこの書式で日付を渡すため)。

      日付アイテムの書式マスクを変更しない場合は、前述の書式マスクを持つ非表示のアイテムをフォーム・ページに作成する必要があります(この非表示のアイテムは、日付値を受け入れる日付アイテムとして選択してください)。


    5. 次の値を使用: 主キー値の置換文字列#PRIMARY_KEY_VALUE##DATE_VALUE#を入力します。たとえば、次のようにします。

      #PRIMARY_KEY_VALUE#,#DATE_VALUE#
      
  3. 「カレンダ表示」まで上にスクロールします。

    「主キー列」で、カレンダ・データの編集時に渡す値を選択します。この値は、前述のステップで指定した#PRIMARY_KEY_VALUE#に置換されます。

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

10.2.6.1 日付列の書式マスクについて

カレンダは特定の書式で日付を渡すため、選択した日付列がRRRRMMDDHH24MISSという書式マスクを持っている必要があります。日付アイテムの書式マスクを変更しない場合は、前述の書式マスクを持つ非表示のアイテムをフォーム・ページに作成する必要があります(この非表示のアイテムは、日付値を受け入れる日付アイテムとして選択してください)。日付列のデフォルト値を次のように変更する必要があります。

return to_char(to_date(<hidden item created>,'RRRRMMDDHH24MISS'),<Date item format mask>);

次に例を示します。

return to_char(to_date(:P130_HIREDATE_TMP,'RRRRMMDDHH24MISS'),:APP_DATE_TIME_FORMAT);

デフォルトのソース・タイプは値を戻すPL/SQLファンクションである必要があります。

10.2.7 既存のカレンダでのデータのドラッグ・アンド・ドロップの有効化

簡易カレンダでドラッグ・アンド・ドロップ機能を有効化する場合、この機能を実装するオンデマンド・プロセスが、カレンダの生成プロセスにより自動的に作成されます。このプロセスは、新しいページで簡易カレンダを作成するときに自動的に作成されます。既存のページで簡易カレンダを作成する場合は、新しいページ・プロセスを作成するプロンプトがウィザードから表示されます。詳細は、「簡易カレンダの作成」を参照してください。これらのウィザードは、このオンデマンド・プロセスの作成が自動的に容易になる唯一のウィザードです。

一方、新しいページでSQLカレンダを作成する場合は、「ドラッグ・アンド・ドロップの有効化」オプションは表示されません。この機能を有効化するには、オンデマンド・プロセスを作成し、SQLカレンダ・ページを作成してから、ページを編集してドラッグ・アンド・ドロップを有効化する必要があります。ベスト・プラクティスとして、カレンダの作成前にこのプロセスを作成しておくことをお薦めします。

カレンダ・データのドラッグ・アンド・ドロップのサポートを有効化するには、次のステップを実行します。

  1. オンデマンド・アプリケーション・プロセスを作成します。「ページ・プロセスの理解」を参照。

    このページ・プロセスは、カレンダ・データがドラッグ・アンド・ドロップされたときに実行される必要があります。これには、次の例のようなコードが必要です。

    declare
        l_date_value         varchar2(32767) := apex_application.g_x01;
        l_primary_key_value  varchar2(32767) := apex_application.g_x02;
    begin
        update EMP set HIREDATE = to_date(l_date_value,'YYYYMMDD HH24MISS') 
         where ROWID = l_primary_key_value;
    end;
    
  2. カレンダ属性ページにナビゲートします。「カレンダ属性ページへのアクセス」を参照してください。

  3. 「ドラッグ・アンド・ドロップ」まで下にスクロールします。

  4. 「プロセス」で、ステップ1で作成したカスタム・ページ・プロセスを選択します。

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

10.2.8 カレンダ・タイトルの編集

カレンダの上部に表示されるタイトルは、リージョン・タイトルに対応しています。

リージョン・タイトルを変更するには、次のステップを実行します。

  1. ページ定義にナビゲートします。「ページ定義へのアクセス」を参照してください。

  2. 「リージョン定義」にアクセスします。

    • ツリー・ビュー: 「ページ・レンダリング」で、リージョン名をダブルクリックします。

    • コンポーネント・ビュー: 「リージョン」で、リージョン名を選択します。

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

  3. 「指定」で、「タイトル」属性を編集します。

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

10.2.9 以前のリリースで作成されたカレンダのアップグレード

デフォルトでは、Oracle Application Express 3.0で作成したカレンダは、日次、週次および月次表示になります。以前のリリースで作成したカレンダを更新してこれらの表示を含めた場合、次のことができます。

  • 次のようにして、カレンダを作成します。

    1. カレンダのページを作成して、以前のカレンダからSQL問合せを統合します。

    2. アプリケーションで、以前のカレンダのページを新しいページと置換します。

  • 次のようにして、テーマをアップグレードします。

    1. 既存のテーマの識別番号の変更。「テーマ識別番号の変更」を参照してください。

    2. テーマの再作成。「テーマの作成」を参照してください。

    3. アプリケーションに新しいテーマの適用。「アクティブなテーマの切替え」を参照してください。

10.2.10 SQLカレンダへの簡易カレンダの変換

カレンダを作成するには、簡易カレンダを作成することが最も簡単な方法です。ただし、結果として作成された簡易カレンダが要件を満たさない場合は、そのカレンダをSQLカレンダに変換することができます。

簡易カレンダをSQLカレンダに変換するには、次のステップを実行します。

  1. 該当するカレンダ属性ページにナビゲートします。「カレンダ属性ページへのアクセス」を参照してください。

  2. 「タスク」リストで「SQLベースのカレンダに変換」をクリックします。

    簡易カレンダがSQLカレンダに変換されると、「リージョン定義」に「リージョン・ソース」セクションが追加されます。「リージョン・ソース」には、カレンダを作成するSQL問合せが含まれます。「リージョン・ソース」へアクセスすることで、要件にあわせて問合せを編集できます。