0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Oracle APEX】ページの移動方法

Last updated at Posted at 2025-02-19

はじめに

ご覧いただいた方は、Oracle APEXを用いて画面開発を行っており、開発に苦労されている方かと思います。

本記事では、同一もしくは別アプリケーションへ画面遷移する方法について記述したいと思います。

※本記事は全て日本語表記で翻訳されている名称を用いています。

目次

1.GUI上で画面遷移を設定する方法
2.PL/SQLを用いて画面遷移を設定する方法

GUI上で画面遷移を設定する方法について

設定の前に注意点がございます。
GUI上で設定する場合は、遷移先が固定となるため、「条件によって遷移先を変更したい」や「条件によって遷移をしたくない」などあれば「2.PL/SQLを用いて画面遷移を設定する方法」を試してください。

以下の画像のように遷移処理を実行するボタンを用意して、「動作」-「ターゲット」の設定を行います。
image.png

詳細画面「リンク・ビルダー-ターゲット」にて「ページ」に遷移したいページを指定します。
※遷移元ページに作成したアイテムの値を遷移先にも紐づけたい場合は、「アイテムの設定」にて設定を行います。
image.png

以上の設定で、特定のページへ遷移することが可能となる。
image.png

別アプリケーションへ遷移させたい場合

別アプリケーションへ画面遷移させたい場合は、一部設定内容が異なります。
「動作」-「アクション」から「別のアプリケーションのページにリダイレクト」を選択する。そして、「アプリケーション」と「ページ」に遷移したい画面のアプリケーションIDとページ番号を設定することで可能となります。
image.png

PL/SQLを用いて画面遷移を設定する方法について

「1.GUI上で画面遷移を設定する方法」と同様に遷移処理を実行するボタンを用意した後、「動作」-「アクション」を「ページの送信」と設定する。
image.png

次にボタンが実行するプログラムを作成する。
「プロセス」上にプログラムを作成し、「サーバー側の条件」-「ボタン押下時」に実行したいボタン名を設定する。
image.png

作成したプロセスの「PL/SQLコード」にプログラムコードを挿入する。
image.png

記述例
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の場合は画面遷移して、それ以外であれば遷移しないというプログラムとなります。

以上の設定で、条件によってページへ遷移することが可能となる。
image.png

おわりに

本記事では、OracleAPEXで同一もしくは別アプリケーションへ画面遷移する方法について記述させていただきました。
本記事が、どなたかの役に立てたのであれば幸いです。
本記事をご覧頂き、ありがとうございました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?