web-dev-qa-db-ja.com

Oracle Application ExpressでページIDを指定してページ名を取得する方法

Prefix:この答えをネット全体で調べました。 アプリケーションのページへのショートカットの(== --- ==)一意のリストを作成しようとしています各ユーザー。だから私は動的リストを使用してショートカットリストをクエリしたいと思っています。すでに手順が整っており、ユーザーIDとページIDを取得する準備ができています。 Apex 5.0を使用しています

質問:テーブルおよび(存在する場合でも)対応するページIDが指定されている場合、ページ名を取得するためにクエリを実行する必要があります。つまり:

select UNKNOWN_COLUMN_FOR_APEX_PAGE_NAME 
from UNKNOWN_TABLE_FOR_APEX_PAGE_INFO

別の質問:ページ名/タイトルを取得するために使用できる:APEX_USERまたは:APEX_PAGE_IDのようなapexグローバル変数はありますか?.

4
asdf

あなたが望むすべて(そしてもっとたくさん)がビューで利用可能ですAPEX_050000.APEX_APPLICATION_PAGES

SYS@mydb01> describe apex_050000.APEX_APPLICATION_PAGES
Name                        Null?    Type
--------------------------- -------- -------------------------------------
WORKSPACE                   NOT NULL VARCHAR2(255)
WORKSPACE_DISPLAY_NAME               VARCHAR2(4000)
APPLICATION_ID              NOT NULL NUMBER
APPLICATION_NAME            NOT NULL VARCHAR2(255)
PAGE_ID                     NOT NULL NUMBER
PAGE_NAME                   NOT NULL VARCHAR2(255)
PAGE_TITLE                           VARCHAR2(255)
PAGE_MODE                            VARCHAR2(16)
...
PAGE_ALIAS                           VARCHAR2(255)

そして、サンプルクエリは

select WORKSPACE, APPLICATION_NAME, 
   PAGE_ID, PAGE_NAME, PAGE_TITLE, PAGE_MODE 
from  APEX_050000.APEX_APPLICATION_PAGES
where workspace  = 'MY_WS' and page_id=210;

組み込みの置換文字列APP_PAGE_IDとAPP_IDがあるため、ページでこれを実行して、現在のページIDとアプリケーションIDを使用してページタイトルを取得できます。

select PAGE_TITLE from APEX_050000.APEX_APPLICATION_PAGES
where PAGE_ID = :APP_PAGE_ID and APPLICATION_ID = :APP_ID;

すべての組み込みの置換文字列については、 https://docs.Oracle.com/cd/E59726_01/doc.50/e39147/concept_sub.htm#BEIIBAJD を参照してください。

2
Mark Stewart