はじめに
ご覧いただいた方は、Oracle APEXを用いて画面開発を行っており、開発に苦労されている方かと思います。
本記事では、同一もしくは別アプリケーションへ画面遷移する方法について記述したいと思います。
※本記事は全て日本語表記で翻訳されている名称を用いています。
目次
1.GUI上で画面遷移を設定する方法
2.PL/SQLを用いて画面遷移を設定する方法
GUI上で画面遷移を設定する方法について
設定の前に注意点がございます。
GUI上で設定する場合は、遷移先が固定となるため、「条件によって遷移先を変更したい」や「条件によって遷移をしたくない」などあれば「2.PL/SQLを用いて画面遷移を設定する方法」を試してください。
以下の画像のように遷移処理を実行するボタンを用意して、「動作」-「ターゲット」の設定を行います。
詳細画面「リンク・ビルダー-ターゲット」にて「ページ」に遷移したいページを指定します。
※遷移元ページに作成したアイテムの値を遷移先にも紐づけたい場合は、「アイテムの設定」にて設定を行います。
別アプリケーションへ遷移させたい場合
別アプリケーションへ画面遷移させたい場合は、一部設定内容が異なります。
「動作」-「アクション」から「別のアプリケーションのページにリダイレクト」を選択する。そして、「アプリケーション」と「ページ」に遷移したい画面のアプリケーションIDとページ番号を設定することで可能となります。
PL/SQLを用いて画面遷移を設定する方法について
「1.GUI上で画面遷移を設定する方法」と同様に遷移処理を実行するボタンを用意した後、「動作」-「アクション」を「ページの送信」と設定する。
次にボタンが実行するプログラムを作成する。
「プロセス」上にプログラムを作成し、「サーバー側の条件」-「ボタン押下時」に実行したいボタン名を設定する。
作成したプロセスの「PL/SQLコード」にプログラムコードを挿入する。
DECLARE
l_url VARCHAR2(4000);
BEGIN
IF :P8_FLG = 1 THEN --遷移するフラグ設定
/*ページ遷移*/
l_url := apex_page.get_url(
p_application => 102, --遷移するアプリケーションID
p_page => 10, --遷移するページ番号
p_items => 'P10_ID', --遷移先で受け取るアイテム名
p_values => :P8_ID2 --遷移先へ受け渡すアイテム名
);
apex_util.redirect_url(
p_url => l_url
);
ELSE --遷移しないフラグ設定
null;
END IF;
END;
上記プログラムを設定すると、アイテム「P8_FLG」が1の場合は画面遷移して、それ以外であれば遷移しないというプログラムとなります。
以上の設定で、条件によってページへ遷移することが可能となる。
おわりに
本記事では、OracleAPEXで同一もしくは別アプリケーションへ画面遷移する方法について記述させていただきました。
本記事が、どなたかの役に立てたのであれば幸いです。
本記事をご覧頂き、ありがとうございました。