前へ
前へ
 
次へ
次へ

フォームの手動作成

次のステップを実行することによって、フォームを手動で作成することもできます。

HTMLリージョンを作成することによって手動でフォームを作成するには、次のステップを実行します。

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

  2. HTMLリージョンを作成します。

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

    2. リージョン・タイプに「HTML」を選択します。

    3. 画面に表示されるステップに従います。

  3. ページへのアイテムの追加を開始します。

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

    • 画面に表示されるステップに従います。

フォームの処理

フォームを作成したら、次に、基礎となるデータベース表またはビューに対して挿入または更新を行うことによって、ユーザーが入力したデータを処理します。フォームを処理する方法には、3通りあります。

行の自動処理(DML)プロセスの作成

フォームを実装するための一般的な方法の1つは、行の自動処理(DML)プロセスを手動で作成することです。この方法には、3つのメリットがあります。1つ目は、SQLコードを指定する必要がないことです。2つ目は、Oracle Application ExpressによってDMLプロセスが実行されることです。3つ目は、このプロセスによって、ロストした更新の検出が自動的に実行されることです。ロストした更新の検出によって、データに同時にアクセスできるアプリケーションのデータ整合性が保証されます。

この方法を実装するには、次のステップを実行します。

行の自動処理(DML)プロセスを作成するには、次のステップを実行します。

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

  2. 「プロセス」で、「作成」アイコンをクリックします。

  3. プロセスの「データ操作」を選択します。

  4. プロセス・カテゴリの「行の自動処理(DML)」を選択します。

  5. 次のプロセス属性を指定します。

    1. 「名前」フィールドで、プロセスを識別するための名前を入力します。

    2. 「順序」フィールドで、順序番号を指定します。

    3. 「ポイント」リストから、適切なプロセス・ポイントを選択します。通常、「ロード時 - ヘッダーの後」を選択します。

    4. 「タイプ」リストから、「行の自動処理(DML)」を選択します。

  6. 画面に表示されるステップに従います。

1つ以上の挿入文を含むプロセスの作成

この方法でフォームを処理するには、挿入、更新および削除操作を実行する1つ以上のプロセスを作成します。Application Expressエンジンですべての操作を透過的に実行するかわりに、操作の制御はユーザーが行います。

たとえば、3つのアイテムを持つフォームが存在すると想定します。

また、「挿入」、「更新」および「削除」というラベルの3つのボタンがあるとします。さらに、3つの列idfirst_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 APIを使用したフォーム値の処理

アプリケーションによっては、表へのすべてのアクセスを単一または少数のPL/SQLパッケージにまとめて処理することが適しています。DML操作を処理するパッケージを作成した場合は、このパッケージのプロシージャおよびファンクションを、送信後のPL/SQLプロセスからコールして、リクエストの挿入、更新および削除を処理できます。

フォームの移入

Oracle Application Expressでは、ロード時またはApplication Expressエンジンによるページのレンダリング時にフォームが移入されます。フォームを移入するには、次のステップを実行します。

行の自動フェッチ・プロセスを作成するには、次のステップを実行します。

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

  2. 「プロセス」で、「作成」をクリックします。

  3. プロセス・タイプの「データ操作」を選択します。

  4. プロセス・カテゴリの「行の自動フェッチ」を選択します。

  5. 次のプロセス属性を指定します。

    1. 「名前」フィールドで、プロセスを識別するための名前を入力します。

    2. 「順序」フィールドで、順序番号を指定します。

    3. 「ポイント」リストから、適切なプロセス・ポイントを選択します。

    4. 「タイプ」リストから、「行の自動フェッチ」を選択します。

  6. 画面に表示されるステップに従います。

非表示のセッション・ステート・アイテムを参照することによって、フォームを手動で移入することもできます。たとえば、PL/SQLタイプのOracle Application Expressプロセスの次のコードでは、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;

この例では、次のとおりです。