APEX 22.2よりリージョン・テンプレートにItem Containerが追加されました。APEX Office HourのPart 4: PWA, User and Developer Experienceの5:12より、開発者のVincent Morneauさんが紹介しています。
アイテム・コンテナにより、以下のようにボタンとアイテムを横一列に配置する際に、テンプレート・オプションで揃える位置を決めることができます。
以下は中央(Center)の例です。
APEX 22.2よりリージョン・テンプレートにItem Containerが追加されました。APEX Office HourのPart 4: PWA, User and Developer Experienceの5:12より、開発者のVincent Morneauさんが紹介しています。
アイテム・コンテナにより、以下のようにボタンとアイテムを横一列に配置する際に、テンプレート・オプションで揃える位置を決めることができます。
以下は中央(Center)の例です。
対話モード・レポートのセルに色を付けるために、対話モード・レポートのリフレッシュ後にJavaScriptを実行しているのだけど実装として今ひとつ。もっと良い方法は無いものか?という話がありました。
対話モード・レポートとしては以下のようになります。一番上はJavaScriptでセルに色付けを行っています。真ん中は対話モード・レポートの標準的な機能の範囲での実装です。最後はCSSの擬似クラスhasを使っています。
select EMPNO,
ENAME,
JOB,
MGR,
HIREDATE,
SAL,
COMM,
DEPTNO
, case
when sal < 1000 then 'red'
else ''
end color
from EMP
列SALの列の書式のHTML式として、以下を設定しています。
<span style="background-color:#COLOR#;">#SAL#</span>
document.querySelectorAll("#emp0 span[data-color]").forEach(
(e) => {
e.parentElement.style.backgroundColor = e.dataset.color;
}
);
#emp2 td:has(span[data-color=red]) {
background-color: red;
}
APEX 22.2より対話モード・レポートとクラシック・レポートでもテンプレート・ディレクティブが利用できるようになりました。
今までは条件ごとに列の表示を切り替えるために、主にCASE句を使用していました。これだとレポートのSELECT文が非常に見難くなります。
APEX 22.2より対話モード・レポートとクラシック・レポートで使用できるようになったテンプレート・ディレクティブにより、レポートのソースのSELECT文がどのように変わるか以下に紹介します。
アプリケーションのページに対話モード・レポートを3つ作成しています。最初の対話モード・レポートデフォルトは表SAMPLE_FILESにテスト・データを投入するために使用します。ページ作成ウィザードによって作成されたフォーム付き対話モード・レポートです。
対話モード・レポート従来の実装では、レポートのソースのSELECT文にCASE句を使っています。対話モード・レポートテンプレート・ディレクティブでは、レポートのソースのSELECT文ではなくテンプレート・ディレクティブで列の表示を切り替えています。
どちらも表示上は同じになっています。
# prefix: sample
files
name vc80 /nn
url vc400
content file
create table sample_files (
id number generated by default on null as identity
constraint sample_files_id_pk primary key,
name varchar2(80 char) not null,
url varchar2(400 char),
content blob,
content_filename varchar2(512 char),
content_mimetype varchar2(512 char),
content_charset varchar2(512 char),
content_lastupd date
)
;
更新: 2026年1月28日
Oracle APEXの最新の修正は、My Oracle Supportよりダウンロードすることができます。
https://www.oracle.com/tools/downloads/apex-downloads.html
Patch Set Bundleのリンクをクリックすると、My Oracle Supportのパッチ詳細のページへリダイレクトされます。パッチをダウンロードするには、登録されているアカウントによるサインインが必要です。
2026年1月28日時点でダウンロードできたファイルはp37366599_2420_Generic.zipでした。このパッチをAPEX 24.2の環境に適用します。
開発環境にサインインし、ヘルプの情報を開きます。
詳細の製品のバージョン番号を確認します。
The Patch Set Bundle was last updated on January 26, 2026 and its PATCH_VERSION is 13. When this patch is applied, the APEX product version will be updated to 24.2.13.Oracle APEXが実行されているデータベース・サーバーからインターネットへの接続ができるようになっていると、開発環境のトップ画面にパッチが利用可能であることが表示されます。
[oracle@apex-arm ~]$ . oraenv
ORACLE_SID = [FREE] ?
The Oracle base remains unchanged with value /opt/oracle
[oracle@apex-arm ~]$ sqlplus sys/********@localhost/freepdb1 as sysdba
SQL*Plus: Release 23.26.0.0.0 - Production on Wed Jan 28 20:08:51 2026
Version 23.26.0.0.0
Copyright (c) 1982, 2025, Oracle. All rights reserved.
Connected to:
Oracle AI Database 26ai Free Release 23.26.0.0.0 - Develop, Learn, and Run for Free
Version 23.26.0.0.0
SQL> set serveroutput on
SQL> exec dbms_output.put_line(apex_instance_admin.get_parameter('IMAGE_PREFIX'));
/i/24.2.0/
PL/SQL procedure successfully completed.
SQL>
ユーザーoracleにて作業を行います。パッチのファイルは/tmp以下にアップロードしておきます。
最初にパッチ・ファイルp37366599_2420_Generic.zipをunzipコマンドで解凍します。zipファイルが解凍されて、ディレクトリ34628174が作成されます。
unzip -q /tmp/p37366599_2420_Generic.zip[oracle@apex-arm ~]$ unzip -q /tmp/p37366599_2420_Generic.zip
[oracle@apex-arm ~]$ ls 37366599/
catpatch_appcon.sql wwv_flow_approval.plb
catpatch_con.sql wwv_flow_authentication_dev.plb
catpatch.sql wwv_flow_authentication_native.plb
copyu.plb wwv_flow_authentication.plb
corepatch.sql wwv_flow_automation.plb
devpatch.sql wwv_flow_branch.plb
f8842.242.sql wwv_flow_builder.plb
flowc.plb wwv_flow_cdn.plb
flows_release.sql wwv_flow_copy_page.plb
flowu.plb wwv_flow_data_profile_dev.plb
gen_api_pkg.plb wwv_flow_debug.plb
generate_ddl.plb wwv_flow_doc_src_dev.plb
images wwv_flow_error.plb
imp_parser.plb wwv_flow_event_metrics_int.plb
meta.plb wwv_flow_exec_doc_src.plb
modules wwv_flow_exec_web_src_boss.plb
null1.sql wwv_flow_exec_web_src_http.plb
patch_36293226_dev.sql wwv_flow_f4000_util.plb
patch_36774907_dev.sql wwv_flow_file_editor_dev.plb
patch_37086304.sql wwv_flow_fnd_developer_api.plb
patch_37155423_dev.sql wwv_flow_hint.plb
patch_37355551.sql wwv_flow_imp_page.plb
patch_37377364.sql wwv_flow_imp_shared.plb
patch_37403215_dev.sql wwv_flow_instance_admin.plb
patch_37473871.sql wwv_flow_ir.plb
patch_37512460_dev.sql wwv_flow_mail.plb
patch_37553042_dev.sql wwv_flow_maint_dev.plb
patch_37579661.sql wwv_flow_maint.plb
patch_37588311_dev.sql wwv_flow_native_item.plb
patch_37751502.sql wwv_flow_pdf.plb
patch_37791306.sql wwv_flow_plugin_dev.plb
patch_37809911_dev.sql wwv_flow_print_util.plb
patch_37830514.sql wwv_flow_process_bg.plb
patch_37858190.sql wwv_flow_pwa.plb
patch_37859062.sql wwv_flow_report_query_dev.plb
patch_37859249.sql wwv_flow_report_query.plb
patch_37952347.sql wwv_flow_security.plb
patch_37967372.sql wwv_flow_session.plb
patch_38279730_dev.sql wwv_flow_session_state.plb
patch_38320934.sql wwv_flow_sw_parser.plb
patch_38559097.sql wwv_flow_theme_manager.plb
patch_38596648.sql wwv_flow_translation_util_api.plb
patch_38669716_dev.sql wwv_flow_upgrade.plb
patch_38726720.sql wwv_flow_web_services_invoker.plb
patch_38840925.sql wwv_flow_web_src_openapi.plb
patch_central_themes.sql wwv_flow_web_src_sync.plb
provision.plb wwv_flow_wf_management.plb
README.txt wwv_flow_workflow.plb
reports3.plb wwv_flow_working_copy_dev.plb
validate_apex.sql wwv_imp_workspace.plb
wwv_dictionary_cache_dev.plb wwv_meta_meta_data.plb
wwv_flow_ai_dev.plb wwv_sample_dataset.plb
wwv_flow_ai.plb wwv_util_apex.plb
[oracle@apex-arm ~]$
作成されたディレクトリ37366599へ移動します。環境変数NLS_LANGおよびその他の環境変数を設定します。
[oracle@apex-arm ~]$ cd 37366599
[oracle@apex-arm 37366599]$ . oraenv
ORACLE_SID = [oracle] ? FREE
The Oracle base has been set to /opt/oracle
[oracle@apex-arm 37366599]$ export NLS_LANG=American_America.AL32UTF8
[oracle@apex-arm 37366599]$
パッチの適用前にOracle REST Data Servicesを停止します。systemctl stop ordsを実行します。
systemctl stop ords
[oracle@apex-arm 37366599]$ systemctl stop ords
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ====
Authentication is required to stop 'ords.service'.
Authenticating as: root
Password: ********
==== AUTHENTICATION COMPLETE ====
[oracle@apex-arm 37366599]$
[oracle@apex-arm 37366599]$ sqlplus sys/*******@localhost/freepdb1 as sysdba
SQL*Plus: Release 23.26.0.0.0 - Production on Wed Jan 28 20:23:41 2026
Version 23.26.0.0.0
Copyright (c) 1982, 2025, Oracle. All rights reserved.
Connected to:
Oracle AI Database 26ai Free Release 23.26.0.0.0 - Develop, Learn, and Run for Free
Version 23.26.0.0.0
SQL> @catpatch.sql
. ORACLE
.
. Oracle APEX 24.2.%
. Patch Set Exception 37366599
........................................
APEX_VERSION
------------------------------
APEX_SCHEMA
--------------------------------------------------------------------------------
24.2.0
APEX_240200
PL/SQL procedure successfully completed.
... Syncing with Post-Upgrade Job
PL/SQL procedure successfully completed.
... Disabling Jobs
[中略]
PL/SQL procedure successfully completed.
... Enabling Jobs
PL/SQL procedure successfully completed.
...Validating APEX
...(20:24:28) Starting validate_apex for APEX_240200
...(20:24:28) Checking missing privileges for APEX_240200
...(20:24:29) Checking missing privileges for APEX_GRANTS_FOR_NEW_USERS_ROLE
...(20:24:29) Re-generating APEX_240200.wwv_flow_db_version
... wwv_flow_db_version is up to date
...(20:24:29) Checking for sys.wwv_flow_cu_constraints
...(20:24:29) Checking invalid public synonyms
...(20:24:29) Key object existence check
...(20:24:29) Post-ORDS updates
...(20:24:30) calling wwv_util_apex_240200.post_ords_upgrade
...enabled_schema
...define_module
...define_template
...define_handler
...set_module_origins_allowed
...(20:24:30) Setting DBMS Registry for APEX to valid
...(20:24:30) Exiting validate_apex
PL/SQL procedure successfully completed.
...Recompiling invalid public synonyms
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
timing for: Complete Patch 37366599
Elapsed: 00:00:37.66
Disconnected from Oracle AI Database 26ai Free Release 23.26.0.0.0 - Develop, Learn, and Run for Free
Version 23.26.0.0.0
[oracle@apex-arm 37366599]$
SQL> select patch_number, patch_version, installed_on from apex_patches order by installed_on;
PATCH_NUMBER PATCH_VERSION INSTALLED_ON
------------ ------------------------------ -------------------
37366599 13 2026-01-28 20:24:30
SQL>
[oracle@apex-arm 37366599]$ cp -r -p images/* /home/oracle/i/24.2.0/
[oracle@apex-arm 37366599]$
[oracle@apex-arm 37366599]$ systemctl start ords
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ====
Authentication is required to start 'ords.service'.
Authenticating as: root
Password: ********
==== AUTHENTICATION COMPLETE ====
[oracle@apex-arm 37366599]$
最初に確認したヘルプの情報の製品のバージョン情報も24.2.13へ更新されます。
[opc@apex-arm ~]$ rm /tmp/p37366599_2420_Generic.zip
[opc@apex-arm ~]$
完