1 of 26

Managing change around Oracle APEX

Universal Theme (UT)

Scott Wesley

AUSOUG Connect Summit 2024 Perth

Caution: “Humour” ahead

@swesley_perth

www.linkedin.com/in/scottwesley

grassroots-oracle.com

scott.wesley@akkodisgroup.com

2 of 26

2014

(teenies)

2008

2024

Started my Oracle career in Forms & Reports

Recognised as Oracle ACE

Today we all meet in this room

Started learning Oracle APEX

Migrating business workflows from Forms / Excel to Oracle APEX

2000

Career Timeline

(Abridged)

Not to scale

3 of 26

Agenda

No Connor-esque 500 slides today

Spot the Difference!

Demo…

(Beverages)

4 of 26

Spot the Difference

Screenshot comparisons �between 20.2 and 23.2

Pretend you’re playing “find the missing semicolon”l

5 of 26

6 of 26

7 of 26

8 of 26

9 of 26

10 of 26

11 of 26

12 of 26

13 of 26

14 of 26

15 of 26

16 of 26

17 of 26

18 of 26

19 of 26

20 of 26

Functional Behaviour

Can’t be screenshotted

  • *IR Row highlight (Reviews)
  • Edit Review link
  • *Field Location (edit book)
  • *Validation (edit book)

Stuff I can’t write off as “embrace the change”

21 of 26

Any other upgrade considerations?

(Unrelated to UT)

Let’s not dig half a hole

22 of 26

Yes

Do we have time?

23 of 26

FOS (DA)

UC (client validation, nested reports)

Alertify

Clockpicker

Plugins

No issues

Improved Dev Builder experience

Native lazy loading

DA labelling

Native alert/confirm dialogs

CLOB session state type

Admin package

Export as JSON

API Process type

Application Working Copies

Image upload (crop/resize)

New items for LOVs

Select Support (single/multi-row)

Create PDF from Word

Server side geocoding

Dev Happiness Ratio

Increased

Custom code looking for unsaved changes in page modals

APEX Behaviours

Modals

24 of 26

Sql expansion (dbms_utility.expand_sql_text)​

SQL Macros​

pragma udf;​

utl_call_stack​

l_owner_table varchar2(2*ora_max_name_len+1);​

Constructor support ​

l_rec := my_rec(c1=>10, c2=>sysdate, c4=>true);​

l_array := my_array(1=>123, 5=>456, 6=>789);​

Dbms_scheduler -> external scripts​

PL/SQL Stuff

PDBs

Cloning

Total recall

List partitioning​

DBSAT – Security​

Create user schema_owner no_authentication​

alter system kill cancel sql '123,456@1';​

dbms_sqlq.create_quarantine_by_sql_id(sql_id => 'dcrqdagwxagth');​

alter system set max_idle_blocker_time = 60;​

Password rollover​

DBA Stuff

col_a number default seq.nextval​

col_b int default on null 1​

with function fn_work(..) select...​

Select .. fetch first 5 rows only;​

Listagg distinct overflow truncate

LATERAL joins​

to_number|date(lc_string default null on conversion error)​

create sequence sess_seq session;

dba_index_usage

JSON JSON JSON

DB Improvements

SQL Stuff

25 of 26

  1. Linking between Oracle Forms and Oracle APEX applications
  2. First experiences with AI generated queries
  3. Embracing latest Template features & patterns
  4. 99 ways not to move 10TB ordImage data from stone tablets
  5. Responsive Classes

Other Topics Considered

26 of 26

Talk to me about your �Forms APEX Projects

Thank�you

Slide 26 © Akkodis

CONFIDENTIAL

Title