Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Oracle APEX Workshop I 日本語版

Oracle APEX Workshop I 日本語版

初心者向けのハンズオン資料です。以下の作業を含みます。
1. ワークスペースの取得
2. スプレッドシートからアプリケーションを作成
3. 対話レポートの操作
4. フォームの編集
5. 警告を表示するリージョンの追加とフォームのレイアウト調整
6. 動的アクションの追加による、CostとBudgetアイテムの有効化/無効化の実装
7. タスクがクローズしたときに電子メールを送信する
8. カレンダの追加
9. テーマのカスタマイズ
10. ダッシュボードの更新

oracle4engineer

September 23, 2020
Tweet

More Decks by oracle4engineer

Other Decks in Programming

Transcript

  1. • スプレッドシートからアプリケーションを作成 • 対話モード・レポートの操作 • フォームの編集 • 警告を表示するリージョンの追加とフォームのレイアウト調整 • 動的アクションの追加による、CostとBudgetアイテムの有効化/無効化の実装

    • タスクがクローズしたときに電子メールを送信する • カレンダの追加 • テーマのカスタマイズ • ダッシュボードの更新 本ワークショップにて実施する内容 Copyright © 2020, Oracle and/or its affiliates 2
  2. 3 Copyright © 2020, Oracle and/or its affiliates 資料のダウンロード •

    以下のリンクにアクセスし、資料をダウンロードする。 ワークショップで使用するCSVファイル https://apex.oracle.com/pls/apex/r/japancommunity/simcontents/downloa d?id=Project_and_Tasks.csv ワークショップで使用するスニペット https://apex.oracle.com/pls/apex/r/japancommunity/simcontents/downloa d?id=APEX_Workshop1_snippets.txt
  3. 5 Copyright © 2020, Oracle and/or its affiliates Step 1

    - ワークスペースのリクエスト • ブラウザよりhttps://apex.oracle.com/にアクセスする。 • 「無料で開始」をクリックする。 • 「無償ワークスペース」のリクエストをクリックする。
  4. 6 Copyright © 2020, Oracle and/or its affiliates Step 2

    - 新規に作成するワークスペース情報の指定 • 名、姓、電子メール、ワークスペース名、国、使用状況 を、それぞれ入力する。 • Oracleプライバシ・ポリシーを確認する。 • 国は「日本」、使用状況の組織は教育機関を想定している ため、「個人」を選択します。 ワークスペースの制限は • 英数字と”_”アンダースコア • 30文字以下 • 大文字小文字の区別なし • 他の利用者も含み、既に使用 済みのワークスペース名は使 えない
  5. 7 Copyright © 2020, Oracle and/or its affiliates Step 3

    - アンケートへの回答 • 「Oracle APEXは初めてですか?」という 質問に回答する。 • 「学校の授業で使いますか?」という質 問に回答する。
  6. 8 Copyright © 2020, Oracle and/or its affiliates Step 4

    - リクエストする理由の入力 • ワークスペースを作成する理由について 入力する。
  7. 9 Copyright © 2020, Oracle and/or its affiliates Step 5

    - サービス規約への同意 • 本サービスの利用規約に同意します。 • apex.oracle.comは学習/検証の用途の利用 に制限されています。
  8. 10 Copyright © 2020, Oracle and/or its affiliates Step 6

    – ワークスペースの作成リクエストを送信 • 指定した内容が正しいことを確認し、 「リクエストの送信」をクリックする。
  9. 11 Copyright © 2020, Oracle and/or its affiliates Step 7

    – メールを受信した後、ワークスペースを作成 • 数分で、[email protected] からメールが届く。 • メール本文にある「Create Workspace」をクリックす る。
  10. 12 Copyright © 2020, Oracle and/or its affiliates Step 8

    – サインイン画面に進む • 「サインイン画面に進みます」をクリックする。
  11. 13 Copyright © 2020, Oracle and/or its affiliates Step 9

    – パスワードの設定 • パスワードを設定して、「パスワードの変更」 をクリックする。
  12. 14 Copyright © 2020, Oracle and/or its affiliates Step 10

    – Oracle APEXホーム画面 • アプリケーション・ビルダー • アプリケーション開発を行う。 • SQLワークショップ • DBの操作、表、ビュー、索引、パッ ケージといったDBオブジェクトの作成 /更新/削除を行う。 • チーム開発 • アプリケーションのリリース管理を行 う機能を提供する。 • アプリケーション・ギャラリー • サンプル・アプリケーションを提供す る。
  13. • 以下のURLからワークショップで使用するCSVファイルをダウンロードし、ファイルに保存する。 Step 1 – CSVファイルのダウンロード Copyright © 2020, Oracle

    and/or its affiliates 16 https://apex.oracle.com/pls/apex/r/japancommunity/simcontents/download?id=Project_and_Tasks.csv ファイルの内容 Project,Task Name,Start Date,End Date,Status,Assigned To,Cost,Budget ACME Web Configuration,Identify server requirements,2020-5-17,2020-5-18,Closed,John Watson,100,200 Maintain Support Systems,HR software upgrades,2020-5-17,2020-7-14,On-Hold,Pam King,8000,7000 Maintain Support Systems,Apply Billing System updates,2020-5-17,2020-7-18,On-Hold,Russ Sanders,9500,7000 ACME Web Configuration,Determine Web listener configuration(s),2020-5-18,2020-5-18,Closed,James Cassidy,100,100 ACME Web Configuration,Specify security authentication scheme(s),2020-5-19,2020-5-21,Closed,John Watson,200,300 ACME Web Configuration,"Select servers for Development, Test, Production",2020-5-19,2020-5-24,Closed,James Cassidy,200,600 Email Integration,Complete plan,2020-5-24,2020-7-1,Closed,Mark Nile,3000,1500 ACME Web Configuration,Configure Workspace provisioning,2020-5-26,2020-5-26,Closed,John Watson,200,100 ACME Web Configuration,Create pilot workspace,2020-5-26,2020-5-26,Closed,John Watson,100,100 ACME Web Configuration,Run installation,2020-5-27,2020-5-27,Closed,James Cassidy,100,100 Bug Tracker,Implement bug tracking software,2020-5-31,2020-5-31,Closed,Myra Sutcliff,100,100 Bug Tracker,Review automated testing tools,2020-6-1,2020-7-2,On-Hold,Myra Sutcliff,2750,1500
  14. • メニューから「レポート」を選ぶ。 • 「Project」のカラム・ヘッダーをク リックする。 • 「コントロール・ブレーク」のアイ コン をクリックする。 •

    レポートがプロジェクト毎のリスト として表示される。 Step 1 – Projectへのコントロール・ブレークの設定 Copyright © 2020, Oracle and/or its affiliates 34
  15. • 「End Date」のカラム・ヘッダー をクリックする。 • 「列の非表示」のアイコン を クリックする。 • End

    Date列がレポートに表示され なくなる。 Step 2 – End Dateカラムを非表示 Copyright © 2020, Oracle and/or its affiliates 35
  16. • 「Start Date」のカラム・ヘッダーをク リックする。 • 「昇順ソート」のアイコン をクリッ クする。 • Start

    Date列の昇順(Project単位)で並 べ替えられる。 Step 3 – Start Dateにてソート Copyright © 2020, Oracle and/or its affiliates 36
  17. • アクション・メニューから、「アク ション -> 書式 -> ハイライト」を選 択する。 • 白紙ページが開く場合は、一旦「取

    消」をクリックして、再度、ハイラ イトを選択する。 Step 5 – ハイライトの追加 Copyright © 2020, Oracle and/or its affiliates 38
  18. • 以下の値を指定する: • 名前:予算多い • バックグラウンド・カラー:淡い黄色 • 列:Budget • 演算子:>=

    • 式:1000 • 「適用」をクリックする。 • Budgetが1000以上であれば、行のバックグラ ウンドが淡い黄色になる。 Step 6 – ハイライトの追加 Copyright © 2020, Oracle and/or its affiliates 39
  19. • 「プライマリ・レポート」を選 択する。 • 「リセット」をクリックする。 • 元のレポート形式に戻る。 Step 9 –

    現在表示されているレポートのリセット Copyright © 2020, Oracle and/or its affiliates 42
  20. • 以下の値を指定する: • チャート・タイプ:棒グラフ • ラベル:Project • 値:Cost • ファンクション:合計

    • 向き:横 • 「適用」をクリックする。 • 棒グラフが表示される。 Step 12 – チャートの作成 Copyright © 2020, Oracle and/or its affiliates 45
  21. • 以下の値を指定する: • 列ラベル:予算コスト差 • 書式マスク:プルダウン・リストから 4番目の(5,345)を選択 • 計算式: I

    – H • 「適用」をクリックする。 • レポートに予算コスト差という列が追加 され、それぞれのタスクのBudgetから Costを引いた値が表示される。 Step 17 – 計算カラムの追加 Copyright © 2020, Oracle and/or its affiliates 50
  22. • Oracle APEXのアプリケーション・ビルダーから起動したアプリケーションには、開発者ツール・ バーが表示されます。 • ホーム:アプリケーション・ビルダーのホーム画面に戻ります。 • アプリケーションnnnn:実行中のアプリケーションの編集画面に戻ります。 • ページの編集nn:実行中のページをページ・デザイナで開きます。

    • セッション:セッション情報の表示画面(デバッグ画面のひとつ)を開きます。 • デバッグの表示:デバッグ画面を開きます。 • デバッグ:アプリケーションの実行ログの取得を開始します。 • ページ情報:画面レイアウト、ページ処理に要した時間を表示します。 • クイック編集:指定したリージョンのテンプレート・オプションを編集する画面を開きます。 • テーマ・ローラー:アプリケーションの見た目を更新します。 Tips – 開発者ツール・バーについて Copyright © 2020, Oracle and/or its affiliates 56 赤字のコンポーネントは、本ワークショップで使用します。
  23. • すべてのページで共通する操作を実行します。 • ページの保存と実行:ページに実施した変更を保存し、対象ページをアプリケーションを実行し ている画面で開きます。 • ページの保存:ページに実施した変更を保存します。これ以降、実施した変更を元に戻す/やり 直すことができなくなります。 • 共有コンポーネント:共有コンポーネントの画面を呼び出します。

    • ユーティリティ:ユーティリティを呼び出します。 • 作成:コンポーネントを作成します。 • 元に戻す/やり直し:実施した変更を元に戻したり、やり直したりできます。 • ロック:現在のページの、他の開発者による変更を禁止します。 • ページ・ロケータ:ページ番号を指定して、ページ・デザイナで開きます。 Tips – ページ・デザイナのツール・バー Copyright © 2020, Oracle and/or its affiliates 61
  24. • 以下のSELECT文を設定: select distinct status d, status r from tasks

    order by 1 Step 6 – LOVにSQLのSELECT文を設定 Copyright © 2020, Oracle and/or its affiliates 62
  25. • 「Highlight Background」オプション にチェックを入れる。 • Alert Titleを「Hidden but Accessible」に設定する。 •

    「保存」をクリックする。 Step 6 – テンプレート・オプションの設定 Copyright © 2020, Oracle and/or its affiliates 75
  26. • プロパティ・エディタより 「サーバー側の条件」を探す。 • 次を設定する: • タイプ:アイテム = 値 •

    アイテム:P6_STATUS • 値:Closed • 「保存」をクリックする。 Step 8 – 警告リージョンに条件を追加 Copyright © 2020, Oracle and/or its affiliates 77
  27. • StatusがClosedに設定されたとき に、CostとBudgetの入力を禁止す る。 • ページ・デザイナのタブに移動す る。 • レンダリング・ツリーにあるペー ジ・アイテムP6_STATUS上で右ク

    リックすると表示されるメニューか ら、「動的アクションの作成」を実 行する。 Step 1 – 動的アクションの作成 Copyright © 2020, Oracle and/or its affiliates 82
  28. • プロパティ・エディタにて、名前に 「予算コストの有効/無効化」を設定 する。 • クライアント側の条件に移動し、以下 を設定する: • タイプ:アイテム =

    値 • アイテム:P6_STATUS • 値:Closed Step 2 – 動的アクションの名前と条件を指定 Copyright © 2020, Oracle and/or its affiliates 83
  29. • レンダリング・ツリーからTrueア クションの表示をクリックする。 • プロパティ・エディタにて: • アクションとして「クラスの 追加」を設定する。 • クラスとして

    「apex_disabled」を設定す る。 • 影響を受ける要素の選択タイ プとしてアイテムを設定す る。 • アイテムの横にあるアイコン をクリックし、P6_COSTを選 択する。 • 同様にP6_BUDGETを選択す る。 Step 3 – Trueアクションの設定 Copyright © 2020, Oracle and/or its affiliates 84 アクションに「有効化/無効化」があるが、こちらで無効化するとページ・サブミット時に値の送信が行われない。 クラスapex_disabledの追加は、入力のみ不可になり、値は送信の対象となる。
  30. • アプリケーションの画面に切り 替える。 • フォームを一旦閉じる。 • StatusがClosedであるタスク を、フォームで開く。 • CostとBudgetが無効化されてい

    ることを確認する。 • StatusをOpenやその他、Closed 以外のステータスに変更し、 CostとBudgetが有効になること を確認する。 Step 5 – 動的アクションの動作確認 Copyright © 2020, Oracle and/or its affiliates 86
  31. • ページをまたがって使用されるコンポーネントです。 • アプリケーション・ロジック:アプリケーション・アイテム(グローバル変数のようなもの)を含み ます。 • セキュリティ:アプリケーションの認証や認可のスキームを設定します。 • ナビゲーション:メニューやブレッドクラムを含みます。 •

    ユーザー・インターフェース:アプリケーションの外観を決めるテーマやテンプレートを含みます。 • ファイル:静的ファイルを保存します。 • データ・ソース:主に外部に存在するデータを定義します。 • グローバリゼーション:各言語への翻訳を定義します。 Tips – 共有コンポーネント Copyright © 2020, Oracle and/or its affiliates 90
  32. • 「電子メール・テンプレートの作成」をクリックする。 • 識別として、以下を設定する: • テンプレート名:Task Closed • 静的識別子:TASK_CLOSED •

    電子メールの件名:タスク #TASK_NAME# がクローズしました! Step 4 – 電子メール・テンプレートの作成 Copyright © 2020, Oracle and/or its affiliates 92
  33. • 本文として以下を設定する: Step 6 – テンプレート・本文の編集 Copyright © 2020, Oracle

    and/or its affiliates 94 <p style="font-size: 16px"> タスク<b>#TASK_NAME#</b>は#APP_USER#によって<b style="color: red">クローズ</b>されました。 </p> <table width="100%"> <tr> <th align="left">プロジェクト名</th> <td>#PROJECT#</td> </tr> <tr> <th align="left">期間</th> <td>#START_DATE# - #END_DATE#</td> </tr> <tr> <th align="left">コスト</th> <td>#COST#</td> </tr> <tr> <th align="left">予算</th> <td>#BUDGET#</td> </tr> </table> <br>
  34. • プレイン・テキスト・フォーマットのコンテンツを設定する。 Step 7 – プレイン・テキスト・フォーマットの編集 Copyright © 2020, Oracle

    and/or its affiliates 95 タスク #TASK_NAME# がクローズしました! タスク詳細 ------------------ プロジェクト: #PROJECT# 期間: #START_DATE# - #END_DATE# コスト: #COST# 予算: #BUDGET#
  35. • レンダリング・ビュー:ページに表示に関連するコンポーネントを表示します。実際にはHTTP(S)の GETリクエストを受け付けたときに行われる処理を定義します。 • 動的アクション・ビュー :ブラウザ上のJavaScriptによって行われる処理を定義します。 • プロセス・ビュー :HTTP(S)のPOSTリクエストを受け付けたときに行われる処理を定義します。 •

    ページ共有コンポーネント・ビュー :このページで使用されている共有コンポーネントを参照しま す。 Tips – 左ペインのビュー Copyright © 2020, Oracle and/or its affiliates 100 レンダリング・ビュー 動的アクション・ビュー プロセス・ビュー ページ共有コンポーネント・ビュー ページ共有コンポーネント・ビュー ページ共有コンポーネント・ビュー
  36. • ソースのPL/SQLコードの入力で、拡大 をクリック してコード・エディタを開く。 • 以下のコードをコピペする。APIのサンプルにアイテム を設定している。 • 検証 ボタンをクリックして、記述したコードのシ

    ンタックスが正しいことを確認し、「OK」をクリック する。 Step 13 – 電子メール送信プロセスの編集 Copyright © 2020, Oracle and/or its affiliates 102 begin apex_mail.send ( p_to => :APP_USER, p_template_static_id => 'TASK_CLOSED', p_placeholders => '{' || ' "APP_USER":' || apex_json.stringify( lower(:APP_USER) ) || ' ,"BUDGET":' || apex_json.stringify( :P6_BUDGET ) || ' ,"COST":' || apex_json.stringify( :P6_COST ) || ' ,"END_DATE":' || apex_json.stringify( :P6_END_DATE ) || ' ,"PROJECT":' || apex_json.stringify( :P6_PROJECT ) || ' ,"START_DATE":' || apex_json.stringify( :P6_START_DATE ) || ' ,"TASK_NAME":' || apex_json.stringify( :P6_TASK_NAME ) || '}' ); end;
  37. • プロパティ・エディタにて、サーバー側の条件までスクロールして、以下を設定する。 • ボタン押下時:SAVE • タイプ:アイテム = 値 • アイテム:P6_STATUS

    • 値:Closed • 「保存」をクリックする。 Step 14 – サーバー側の条件の設定 Copyright © 2020, Oracle and/or its affiliates 103
  38. • アプリケーションを実行しているタブに 切り替える。 • フォームを一旦閉じる。 • StatusがClosedではないタスクをフォー ムで開く。 • StatusをClosedへ変更する。

    • 「変更の適用」をクリックする。 • 電子メールの受信を確認する。右にある ようなメールを受信しているはずです。 Step 15 – 電子メールの送信を検証 Copyright © 2020, Oracle and/or its affiliates 104
  39. • グローバル色のヘッダー・アクセン トとして指定されている色をクリッ クする。 • カラー・ピッカーから会社としての 指定色(または好きな色)を選ぶ。 • 16進数によるカラー・コードの入力 も可。(右の例は#03b109)

    • 色を指定したら、テーマ・ローラー 内のどこかをクリックして、カ ラー・ピッカーを閉じる。 Step 2 – アクセント色の変更 Copyright © 2020, Oracle and/or its affiliates 115
  40. • 左ペインのレンダリング・ツリーより 「Task Name」の上で右クリックす る。 • 「削除」をクリックする。 • 「Assigned To」も同様に削除する。

    • ProjectとStatusのチャートを残す。 Step 2 – チャート・リージョンの削除 Copyright © 2020, Oracle and/or its affiliates 123
  41. • レンダリング・ツリーの「シリーズ1」 をクリックする。 • プロパティ・エディタで名前に「コス ト」と入力する。 • レンダリング・ツリーのシリーズ1 がコストに変わる。 •

    SQL問合せに以下を入力する。 Step 4 – シリーズの更新 Copyright © 2020, Oracle and/or its affiliates 125 select PROJECT, sum(cost) value from TASKS group by PROJECT order by 1
  42. • レンダリング・ツリーの「コスト _1」クリックする。 • プロパティ・エディタの識別の名 前を「予算」と入力する。 • レンダリング・ツリーのコスト _1が予算に変わる。 •

    SQL問合せのcostを「budget」に 変更する。 • ページの保存と実行 をク リックする。 Step 6 – シリーズ・予算の調整 Copyright © 2020, Oracle and/or its affiliates 127 select PROJECT, sum(budget) value from TASKS group by PROJECT order by 1
  43. • 予算とコスト・リージョンのチャートを 確認する。 • X軸のプロジェクト名が切れている。 • Y軸は金額として表示されていない。 • どちらが予算でコストなのか分から ない。

    • 開発者ツール・バーの「クイック編集」 をクリックする。 • 予算とコストリージョンをクリックし て、編集画面へ移行する。 Step 10 – 予算とコストのチャートの編集 Copyright © 2020, Oracle and/or its affiliates 130
  44. • 予算とコスト・リージョンの 「属性」をクリックする。 • レイアウトの高さに「600」を 入力する。 • 凡例の表示を「ON」にする。 • 位置として「トップ」を選択す

    る。 • 表示および非表示の動作として 「サイズ変更なし」を選択す る。 Step 11 – チャートの表示形式の調整 Copyright © 2020, Oracle and/or its affiliates 131
  45. • 新規に作成されたリージョンに以下を 設定する。 • タイトルは「オープン中のタス ク」 • タイプは「SQL問合せ」 • SQL問合せは以下を入力する。

    Step 20 – レポート属性の設定 Copyright © 2020, Oracle and/or its affiliates 140 select project, task_name, start_date from tasks where status = 'Open' order by start_date
  46. • 新規に作成されたリージョンに以下を設 定する。 • 識別のタイトルは「クローズされた タスク」 • 識別のタイプは「クラシック・レ ポート」 •

    ソースのタイプは「SQL問合せ」 • SQL問合せには以下を入力する。 • ページの保存と実行 をクリックす る。 Step 24 – リージョンの調整 Copyright © 2020, Oracle and/or its affiliates 144 select project, task_name, assigned_to, start_date, end_date from tasks where status = 'Closed' order by end_date desc
  47. • 開発者ツール・バーの「クイック編集」 をクリックする。 • オープン中のタスクリージョンのスパ ナ・アイコン をクリックする。 • 「Remove Body

    Padding 」「Stretch Report」にチェックを入れる。 • 「保存」をクリックする。 Step 28 – オープン中のタスクにも適用 Copyright © 2020, Oracle and/or its affiliates 148