2017-01-24 14 views
0

Oracleのアペックス5.1カスタムマスター詳細問題私は2つの地域、 1 DEPT(一部のテキストフィールド、DEPTNO、DNAME) 2. EMPでページを作成している (インタラクティブグリッド、ENAME 、deptno) そして1つの送信ボタン フロー:ユーザーが手動で部門名を 'dname'テキストフィールドに入力します グリッドに従業員の行を追加し、最後にユーザーが送信ボタンをクリックすると、まずdeptno(自動インクリメント)で部門を作成します そして最初の領域を作成したdeptnoでグリッド行を挿入します。 これはすべてのdeptnoに対応する従業員がいて、両方のタスクが同じ時間を作成することを意味します。 (送信ボタンをクリックした後) 可能であれば、これについて私に解答してください。Oracleのアペックス5.1カスタムマスター詳細

答えて

0

この例では、新しい部門ID(P1_depno)を持つ非表示項目を作成します。

あなたは属性を持つインタラクティブグリッドを作成しました>編集>はいインタラクティブグリッドにセットを有効 - 行の自動処理(DML)プロセス(おそらくという名前 - 保存インタラクティブグリッドデータ)あなたのページに追加されているはずです(単純に上記のタイプの新しいプロセスを作成していない場合)。

このプロセスは、このコードを使用して、部門を挿入します(私の例では挿入課という名前)の新しいPL/SQLプロセスを作成する前に:

declare 
v_depno number; 
begin 

    select deptno_sequence.nextval into :P1_depno from dual; --get the depno from your sequence 

    insert into dept (deptno, dname)-- insert the new department 
    values (:P1_depno,:P1_dname); 
end; 

このプロセスは保存インタラクティブグリッドデータの前に実行する必要があり、非常に重要プロセス。 enter image description here

今すぐ割引インタラクティブグリッドデータのプロセスを編集し、でターゲットタイプは、PL/SQLコードを選択して、次のコードを追加します

begin 

    --insert the employees 
    case :APEX$ROW_STATUS 
    when 'C' then -- C for Create but you also can check for U (Update) and D (Delete) 
     insert into emp (empno, ename, deptno) 
     values (:EMPNO, :ENAME, :P1_depno) 
     returning rowid into :ROWID; 
    end case; 

end; 
+0

Cristian_Iを - あなたのコメントをありがとう。 私は別の解決策を見つけなければなりません。 これは、コードをグラフィカルに変更する必要はありません。 –