1

APEX初心者です。この解決策が利用可能であると確信していますが、どこにも適切な答えを見つけることができませんでした.

ケース シナリオを次に示します (特定のレポート行を更新する機能をユーザーに提供します)。

ページ 1 にはレポート A があり、特定の列 (たとえば列 B) にはすべての行へのリンクがあり、特定の行をクリックすると、ユーザーは新しいページ (ページ 2) に移動します。

ページ 2 には、アイテムのリスト (約 10) を持つ領域 1 に単一のエントリ フォームがあり、同じページ (ページ 2) の領域 2 には表形式があります。

ページ 2 の領域 1 の項目の一部は、ページ 1 レポートの詳細からの情報に基づいて入力されます。一部のアイテムには LOV があり、一部のアイテム ユーザーは情報を追加できます。

ページ 2 の領域 2 の表形式フォームは、ユーザーが編集できる項目 ID に基づいて生成されます。表形式のフォームは、1 つのテーブルのみに関連付けられています。

ページには 2 つのボタンがあり、キャンセル ボタンはレポート ページに戻りますが、保存ボタンはデータをデータベース テーブルに保存します。単一フォーム アイテムは 2 つのテーブルを更新しますが、表形式のフォームは 1 つのテーブルを更新します。

apex を介して基になるテーブルを更新するためにプロセスを確立する必要がある方法。

現在、Tabular フォームには MRU 更新プロセスが組み込まれています (ただし、このプロセスを単一入力フォームと連携して使用できるかどうかはわかりません。または、両方の更新を処理する別のプロセスを作成することをお勧めします)

これをどのように達成できるか、またはそのようなプロセスが説明されているリンクを誰か教えてもらえますか?

4

2 に答える 2

1

送信された値を処理してテーブルに適用するには、手動で plsql プロセスを作成する必要があります。組み込みの行処理を使用してこれを行うことはできません。ページごとに 2 つ定義することはできません。(どの列がどのテーブルにマップされるかを示すことができないため、これは理にかなっています。項目のソースとして定義できるのは「データベース列」のみです。これは、2 つのプロセスがあったとしても、これらの列が処理されようとすることを意味します。両方のプロセスでエラーが発生します)。

プロセスを設定する方法については、この投稿をご覧ください: https://stackoverflow.com/a/7877933/814048

于 2012-08-30T11:53:32.857 に答える
0
if :P42_ORDER_STATUS in ('IP','OW') then
begin
    FOR I in 1..APEX_APPLICATION.G_F01.COUNT LOOP
        
        update sales_mst set ORDER_STATUS = 'DR'
        where id = to_number(apex_application.g_f01(i));
    end loop;
end;
end if;
于 2021-04-04T20:05:55.123 に答える