---
title: 10 Things I Wish I Knew When I Started Using APEX
description: APEX is an intuitive tool and it is easy to dive straight in and begin developing after some basic tutorials.
image: https://content.dsp.co.uk/hubfs/Oracle%20APEX%20delete%20employee.webp
---

[![DSP From Ground to Cloud](https://content.dsp.co.uk/hubfs/Logos/DSP%20From%20Ground%20to%20Cloud/DSP-Logo-Colour-From-Ground-to-Cloud.svg "DSP From Ground to Cloud")](https://dsp.co.uk)

[![DSP From Ground to Cloud](https://content.dsp.co.uk/hs-fs/hubfs/2023/Logos/DSP/DSP-Logo-2019-White-600px.png?width=70&height=72&name=DSP-Logo-2019-White-600px.png "DSP From Ground to Cloud")](https://dsp.co.uk)

- Services 
    - Consulting Services 
          - [Oracle](https://www.dsp.co.uk/oracle-consultancy)
          - [Microsoft](https://www.dsp.co.uk/sql-server-consultancy)
          - [Google](https://www.dsp.co.uk/google-cloud-consultancy)
          - [Architecture](https://www.dsp.co.uk/solution-design-and-architecture)
    - Managed Services 
          - [Oracle Managed Services](https://www.dsp.co.uk/oracle-managed-services)
          - [SQL Server Managed Services](https://www.dsp.co.uk/sql-server-managed-services)
          - [OCI Managed Services](https://www.dsp.co.uk/oracle-cloud-infrastructure-managed-services)
          - [Azure Managed Services](https://www.dsp.co.uk/azure-managed-services)
          - [On Premise Apps Managed Services](https://www.dsp.co.uk/application-managed-services)
          - [Cloud Apps Managed Services](https://www.dsp.co.uk/oracle-cloud-applications-services)
    - Licensing and SAM 
          - [Oracle Licensing](https://www.dsp.co.uk/oracle-licensing-services)
          - [Software Asset Management](https://www.dsp.co.uk/oracle-software-asset-management-sam)
    - Application Services 
          - [Application Development](https://www.dsp.co.uk/software-development)
          - [Application Modernisation](https://www.dsp.co.uk/legacy-software-modernisation)
          - [Oracle Forms to Oracle APEX](https://www.dsp.co.uk/oracle-forms-to-oracle-apex)
          - [Application Extensions](https://www.dsp.co.uk/software-customisation)
          - [Archiving Solutions](https://www.dsp.co.uk/application-archiving-solution)
          - [Application Hosting](https://www.dsp.co.uk/oracle-apex-hosting-services)
          - [Development Training](https://www.dsp.co.uk/oracle-apex-training)
    - Data Science 
          - [AI Strategy](https://www.dsp.co.uk/ai-strategy)
          - [Responsible AI and Governance](https://www.dsp.co.uk/responsible-ai)
          - [Agentic AI](https://www.dsp.co.uk/agentic-ai)
          - [Data Management for AI](https://www.dsp.co.uk/data-management)
          - [Power BI](https://www.dsp.co.uk/power-bi-services)
          - [Microsoft Fabric](https://www.dsp.co.uk/microsoft-fabric-services)
          - [Machine Learning](https://www.dsp.co.uk/oci-machine-learning)
    - Cloud Migration and Management 
          - [Cloud Readiness and Design](https://www.dsp.co.uk/oracle-cloud-readiness-assessment)
          - [Migration to Fusion and Cloud Applications](https://www.dsp.co.uk/oracle-cloud-application-modernisation)
          - [Migration to Cloud Infrastructure](https://www.dsp.co.uk/oracle-cloud-migration)
          - [Private Cloud](https://www.dsp.co.uk/oracle-private-cloud-services)
          - [Database@ Hyperscaler](https://www.dsp.co.uk/multicloud-management)
          - [FinOps and Optimisation](https://www.dsp.co.uk/optimise-oracle-cloud-infrastructure)
    - Integration and APIs 
          - [API Management](https://www.dsp.co.uk/api-development-services)
          - [GoldenGate](https://www.dsp.co.uk/oracle-goldengate-services)
    - Disaster Recovery and Security 
          - [Disaster Recovery](https://www.dsp.co.uk/oracle-database-disaster-recovery-solutions)
          - [Security Compliance](https://www.dsp.co.uk/data-security)
          - [Cloud Security](https://www.dsp.co.uk/cloud-security)
  
  
  
   
  
  ![Oracle Partner, Microsoft Partner and Google Partner](https://content.dsp.co.uk/hubfs/logo-2021/Partner-logos/multiple-vendor/rectangle-2022/Partner-logos-rectangle-Nov21.svg)
  
  
  
  
  
  
  
  #### Getting to know us
  
    - [About us](https://www.dsp.co.uk/about)
    - [What we do](https://www.dsp.co.uk/what-we-do)
    - [Leadership](https://www.dsp.co.uk/dsp-product-leads)
    - [Careers](https://www.dsp.co.uk/careers)
- Technologies 
    - Oracle Cloud Infrastructure 
          - [Oracle Cloud Infrastructure](https://www.dsp.co.uk/oracle-cloud-infrastructure-services)
          - [IaaS](https://www.dsp.co.uk/iaas)
          - [PaaS](https://www.dsp.co.uk/paas-security)
    - Oracle Database 
          - [Oracle Database](https://www.dsp.co.uk/oracle-database-consulting)
          - [Autonomous Database](https://www.dsp.co.uk/oracle-autonomous-database-services)
          - [MySQL and Heatwave](https://www.dsp.co.uk/mysql-services)
          - [Oracle APEX](https://www.dsp.co.uk/oracle-apex-services)
    - Oracle Engineered Systems 
          - [Oracle Exadata](https://www.dsp.co.uk/exadata-database-service-consultancy)
          - [Oracle Database Appliance](https://www.dsp.co.uk/oracle-database-appliance)
    - Oracle Applications 
          - [Oracle Fusion and Cloud Applications](https://www.dsp.co.uk/oracle-fusion-services)
          - [Oracle E-Business Suite](https://www.dsp.co.uk/oracle-ebs-services)
          - [JD Edwards](https://www.dsp.co.uk/jd-edwards-services)
          - [Peoplesoft](https://www.dsp.co.uk/oracle-peoplesoft-services)
          - [Hyperion](https://www.dsp.co.uk/oracle-hyperion-services)
    - Microsoft 
          - [SQL Server](https://www.dsp.co.uk/sql-server-consultancy)
          - [Microsoft Azure](https://www.dsp.co.uk/microsoft-azure-services)
          - [Power BI](https://www.dsp.co.uk/power-bi-services)
          - [Microsoft Fabric](https://www.dsp.co.uk/microsoft-fabric-services)
    - Google 
          - [Google Cloud Platform (GCP)](https://www.dsp.co.uk/google-cloud-partner)
    - Multicloud and Database Hyperscaler 
          - [Oracle Database@Azure](https://www.dsp.co.uk/oracle-databaseazure-partner)
          - [Oracle Database@GCP](https://www.dsp.co.uk/google-cloud-machine-learning)
          - [Oracle Database@AWS](https://www.dsp.co.uk/amazon-web-services-aws)
          - [Oracle Azure Interconnect](https://www.dsp.co.uk/oracle-microsoft-multicloud)
    - Open Source Database 
          - [PostgreSQL](https://www.dsp.co.uk/postgresql-services)
          - [MySQL](https://www.dsp.co.uk/mysql-services)
          - [MariaDB](https://www.dsp.co.uk/migration-from-mariadb-to-mysql)
  
  
  
  #### Managed Services
  
    - [Oracle Database](https://www.dsp.co.uk/oracle-managed-services)
    - [SQL Server](https://www.dsp.co.uk/sql-server-managed-services)
    - [MySQL](https://www.dsp.co.uk/mysql-support)
  
  
  
  
  
  
  #### Application Services
  
    - [Oracle Applications](https://www.dsp.co.uk/oracle-application-cloud-migration)
    - [Oracle APEX](https://www.dsp.co.uk/oracle-apex-services)
    - [Microsoft](https://www.dsp.co.uk/microsoft-partnership)
    - [ISV Services](https://www.dsp.co.uk/isv-support-and-services)
  
  
  
  
  
  
  
  
  #### Cloud Services
  
    - [Oracle Cloud Infrastructure](https://www.dsp.co.uk/oracle-cloud-services)
    - [Microsoft Azure](https://www.dsp.co.uk/microsoft-azure-services)
    - [Google Cloud Platform](https://www.dsp.co.uk/gcp-database)
    - [Multi-cloud](https://www.dsp.co.uk/oracle-microsoft-multicloud)
  
  
  
  
  
  
  #### Data Science
  
    - [Machine Learning](https://www.dsp.co.uk/machine-learning-consulting-services)
    - [Business Intelligence](https://www.dsp.co.uk/business-intelligence-services)
    - [Artificial Intelligence](https://www.dsp.co.uk/artificial-intelligence-consulting-services)
  
  
  
  
  
  
  
  
  #### Consulting Services
  
    - [Oracle](https://www.dsp.co.uk/oracle-consultancy)
    - [Microsoft](https://www.dsp.co.uk/sql-server-consultancy)
    - [Google](https://www.dsp.co.uk/google-cloud-consultancy)
    - [Cloud Migration](https://www.dsp.co.uk/cloud-migrations)
  
  
  
  
  
  
  #### Technology Solutions
  
    - [Engineered Systems](https://www.dsp.co.uk/oracle-engineered-systems-partner)
    - [Data Security](https://www.dsp.co.uk/data-security)
    - [Database Architecture](https://www.dsp.co.uk/solution-design-and-architecture)
    - [Disaster Recovery](https://www.dsp.co.uk/database-disaster-recovery)
- Industries 
    - [Finance](https://www.dsp.co.uk/finance)
    - [Healthcare](https://www.dsp.co.uk/healthcare-it-services)
    - [Travel and Transport](https://www.dsp.co.uk/database-solutions-for-travel-and-transport)
    - [Higher Education](https://www.dsp.co.uk/higher-education)
    - [Public Sector](https://www.dsp.co.uk/public-sector)
    - [Manufacturing](https://www.dsp.co.uk/manufacturing)
    - [Retail](https://www.dsp.co.uk/retail)
    - [Software Vendors](https://www.dsp.co.uk/isv-support-and-services)
  
  
  
  ### Recent case study:
  
  #### Oracle EBS Cloud Deployment
  
  Consolidating and Migrating assets into Oracle Cloud Infrastructure.
  
  [**![Oracle EBS Cloud Deployment](https://content.dsp.co.uk/hs-fs/hubfs/stonewater-logo%20(1).png?width=250&name=stonewater-logo%20(1).png)**](https://www.dsp.co.uk/stonewater)
  
   
  
  
  
  
  
  
  
  #### Most Visited Pages
  
    - [Oracle Licensing](https://www.dsp.co.uk/oracle-licensing)
    - [Oracle Cloud Calculator](https://www.oracle-cloud-calculator.com/)
    - [Oracle Cloud Migration](https://www.dsp.co.uk/oracle-cloud-migration)
    - [Oracle Exadata Services](https://www.dsp.co.uk/oracle-exadata-services)
    - [Artificial Intelligence Services](https://www.dsp.co.uk/artificial-intelligence-consulting-services)
  
  
  
  
  
  
  
  
  #### -
  
    - [SQL Server Support](https://www.dsp.co.uk/sql-server-support)
    - [Oracle Support](https://www.dsp.co.uk/oracle-support)
    - [Google Cloud Consultancy](https://www.dsp.co.uk/google-cloud-consultancy)
    - [New Application Development](https://www.dsp.co.uk/oracle-apex-services)
    - [Azure Virtual Desktop](https://www.dsp.co.uk/azure-virtual-desktop)
- Resources 
    - [Gartner ](https://www.dsp.co.uk/complimentary-gartner-download)
    - [ISG](https://www.dsp.co.uk/isg-oracle-report)
    - [Blogs](https://www.dsp.co.uk/blogs)
    - [Case Studies](https://www.dsp.co.uk/case-studies)
    - [Testimonials](https://www.dsp.co.uk/testimonials)
    - [Events](https://www.dsp.co.uk/events)
    - [Webinars](https://www.dsp.co.uk/webinars)
    - [Insights](https://www.dsp.co.uk/insights)
    - [Technical Resources](https://www.dsp.co.uk/technical-resources)
  
  
  
  ### DSP-Explorer acquires leading Oracle Applications Managed Services Provider, Claremont, to further extend its data management capabilities.
  
   
  
  [![Read More](https://no-cache.hubspot.com/cta/default/3321273/c7e13c9c-65e1-46e7-8541-8da86a4fc305.png)](https://cta-redirect.hubspot.com/cta/redirect/3321273/c7e13c9c-65e1-46e7-8541-8da86a4fc305)
  
  
  
  
  
  
  
  #### Resources
  
    - [Blogs](https://www.dsp.co.uk/blogs)
    - [Webinars](https://www.dsp.co.uk/webinars)
    - [Case Studies](https://www.dsp.co.uk/case-studies)
    - [Testimonials](https://www.dsp.co.uk/testimonials)
- About 
    - [About DSP](https://www.dsp.co.uk/about)
    - [What We Do](https://www.dsp.co.uk/what-we-do)
    - [DSP Group Board ](https://www.dsp.co.uk/dsp-group-board)
    - [Careers](https://www.dsp.co.uk/careers)
    - [Project Harar](https://www.dsp.co.uk/project-harar)
- [Customer Area](https://www.dsp.co.uk/contact-us) 
    - [Customer Support Portal](https://dspgroup-ism.ivanticloud.com/)
    - [Customer Resources](https://www.dsp.co.uk/welcome)
- [Contact us](https://www.dsp.co.uk/contact-us)

# 10 Things I Wish I Knew When I Started Using APEX

[ Lee Burgess ](https://content.dsp.co.uk/author/lee-burgess) 06-Oct-2020 12:32:00

### Contents

[01-Sep-2020 10:06:07

Faster APEX get the browser to work for you

](https://content.dsp.co.uk/faster-apex-get-the-browser-to-work-for-you) [18-Aug-2020 12:12:19

When to AJAX Callback vrs. When to Dynamic Action

](https://content.dsp.co.uk/when-to-ajax-callback-vrs-when-to-dynamic-action) [04-Sep-2020 13:43:46

APEX REST Enabled Forms

](https://content.dsp.co.uk/apex-rest-enabled-forms)

Find out how we can help you build solutions using Oracle APEX with our award-winning [application development and consultancy services](https://www.dsp.co.uk/oracle-apex-services).

[![Book a meeting with an Oracle APEX expert](https://no-cache.hubspot.com/cta/default/3321273/5db1aa70-8710-434d-9e0b-6b1c26541a0c.png)](https://cta-redirect.hubspot.com/cta/redirect/3321273/5db1aa70-8710-434d-9e0b-6b1c26541a0c)

---

APEX is an intuitive tool and it is easy to dive straight in and begin developing after some basic tutorials. There are a few tips & tricks I have discovered along the way that I really wish I had found out about sooner, so I thought I would share them with you.

### Auto complete on builder

Most of your code will likely be written using a text editor (VSCode is widely considered as the most efficient and extendable) but there are times when you will have to code directly in the builder.

To activate auto-complete simply begin typing and then press <ctrl> + <space> and your options will appear.

[![10 Things I Wish I Knew When I Started Using APEX Auto complete on builder](https://content.dsp.co.uk/hs-fs/hubfs/10%20Things%20I%20Wish%20I%20Knew%20When%20I%20Started%20Using%20APEX%20Auto%20complete%20on%20builder.gif?width=396&name=10%20Things%20I%20Wish%20I%20Knew%20When%20I%20Started%20Using%20APEX%20Auto%20complete%20on%20builder.gif)](https://content.dsp.co.uk/hubfs/10%20Things%20I%20Wish%20I%20Knew%20When%20I%20Started%20Using%20APEX%20Auto%20complete%20on%20builder.gif)

This can be useful when you have more complex table names for example, and can prevent typos in your code.

### [Tab lock Chrome extension](https://chrome.google.com/webstore/detail/apex-page-designer-tab-lo/epenpjchljckbcfcmlahbhldaibgeolm)

[![Tab lock chrome extension](https://content.dsp.co.uk/hs-fs/hubfs/Tab%20lock%20chrome%20extension.webp?width=569&name=Tab%20lock%20chrome%20extension.webp)](https://content.dsp.co.uk/hubfs/Tab%20lock%20chrome%20extension.webp)

When I joined DSP, I was urged to try out this extension, and I’m glad I did – It is a veritable toolkit for the APEX developer, created by an experienced Oracle ACE and a senior development consultant here at DSP.

Some of the features I use the most:

### Validate and close

If you want to make a quick change in the in the code editor to a process/query/computation that has the ‘validate’ button [![Oracle APEX Validate and close](https://content.dsp.co.uk/hs-fs/hubfs/Validate%20and%20close.png?width=57&name=Validate%20and%20close.png)](https://content.dsp.co.uk/hubfs/Validate%20and%20close.png)

Usually, you have to click to validate, wait for the ‘Validation Successful’ message then click OK.

With tab lock enabled, you have the option of ‘Validate and close’ [![Oracle APEX Validate and close](https://content.dsp.co.uk/hs-fs/hubfs/Oracle%20APEX%20Validate%20and%20close.png?width=57&name=Oracle%20APEX%20Validate%20and%20close.png)](https://content.dsp.co.uk/hubfs/Oracle%20APEX%20Validate%20and%20close.png) so if the validation is successful then the editor will close automatically, otherwise the errors will display as normal.

[![Oracle APEX Code Editor](https://content.dsp.co.uk/hs-fs/hubfs/Oracle%20APEX%20Code%20Editor.gif?width=569&name=Oracle%20APEX%20Code%20Editor.gif)](https://content.dsp.co.uk/hubfs/Oracle%20APEX%20Code%20Editor.gif)

This seems like a small feature but it really does improve the UX of the editor modals.

### Accessing shortcuts to all items on the page

A few clicks bring up a list of all the variables available to you on the page. Again, this is great for speed and prevents typos.

![10 Things I Wish I Knew When I Started Using APEX](https://content.dsp.co.uk/hs-fs/hubfs/Imported_Blog_Media/bindvariables.gif?width=1409&name=bindvariables.gif)

 

### Accessing an exhaustive list of substitution strings

[![Oracle APEX Substitution Strings](https://content.dsp.co.uk/hs-fs/hubfs/Oracle%20APEX%20Substitution%20Strings.webp?width=659&name=Oracle%20APEX%20Substitution%20Strings.webp)](https://content.dsp.co.uk/hubfs/Oracle%20APEX%20Substitution%20Strings.webp)

 

### Checking the return value of an item (before submit)

A handy feature that lets you sense check the current return value of an item without submitting the page.

[![Oracle APEX Return Value of an Item](https://content.dsp.co.uk/hs-fs/hubfs/Oracle%20APEX%20Return%20Value%20of%20an%20Item.gif?width=569&name=Oracle%20APEX%20Return%20Value%20of%20an%20Item.gif)](https://content.dsp.co.uk/hubfs/Oracle%20APEX%20Return%20Value%20of%20an%20Item.gif)

### Links to useful resources

[![Oracle APEX Links to useful resources](https://content.dsp.co.uk/hs-fs/hubfs/Oracle%20APEX%20Links%20to%20useful%20resources.webp?width=459&name=Oracle%20APEX%20Links%20to%20useful%20resources.webp)](https://content.dsp.co.uk/hubfs/Oracle%20APEX%20Links%20to%20useful%20resources.webp)

### Checkboxes in IRs & Select/Deselect all

A fairly standard requirement, but with no out-of-the-box solution how do you add checkbox functionality to your IR? I recommend you check out [this](https://jeffkemponoracle.com/2012/11/select-all-unselect-all-checkbox-in-interactive-report-header/) blog from Jeff Kemp which gives a step by step guide I find myself revisiting frequently.

### Adding a ‘Confirm’ action dialog using [apex.confirm](https://docs.oracle.com/en/database/oracle/application-express/20.1/aexjs/apex.page.html#.confirm)

[![Oracle APEX adding a confirm action](https://content.dsp.co.uk/hs-fs/hubfs/Oracle%20APEX%20adding%20a%20confirm%20action.webp?width=437&name=Oracle%20APEX%20adding%20a%20confirm%20action.webp)](https://content.dsp.co.uk/hubfs/Oracle%20APEX%20adding%20a%20confirm%20action.webp)

This useful JavaScript function allows you to generate a ‘confirm’ modal without creating an actual APEX modal dialog page. On confirm, the page is submitted and you can set the request value and even set page items – See an example of how to implement in my next tip…

### Adding a row button in an IR

When creating an IR I often need a row button to perform an action/link. Don’t worry about having to create and style a button from scratch – luckily, Universal Theme has you covered with the [Button Builder](https://apex.oracle.com/pls/apex/apex_pm/r/ut/button-builder).

So Let’s make a delete button to delete an employee on our IR.

Step 1) Style your button using the Button Builder

[![Oracle APEX Mega Menu Demo 1](https://content.dsp.co.uk/hs-fs/hubfs/Oracle%20APEX%20Mega%20Menu%20Demo%201.webp?width=569&name=Oracle%20APEX%20Mega%20Menu%20Demo%201.webp)](https://content.dsp.co.uk/hubfs/Oracle%20APEX%20Mega%20Menu%20Demo%201.webp)

Step 2) Create a column for your button

[![Oracle APEX adding a row button in an IR (2)](https://content.dsp.co.uk/hs-fs/hubfs/Oracle%20APEX%20adding%20a%20row%20button%20in%20an%20IR%20(2).gif?width=569&name=Oracle%20APEX%20adding%20a%20row%20button%20in%20an%20IR%20(2).gif)](https://content.dsp.co.uk/hubfs/Oracle%20APEX%20adding%20a%20row%20button%20in%20an%20IR%20(2).gif)

Step 3) Populate the following attributes:

[![Oracle APEX adding a row button in an IR (3)](https://content.dsp.co.uk/hs-fs/hubfs/Oracle%20APEX%20adding%20a%20row%20button%20in%20an%20IR%20(3).webp?width=569&name=Oracle%20APEX%20adding%20a%20row%20button%20in%20an%20IR%20(3).webp)](https://content.dsp.co.uk/hubfs/Oracle%20APEX%20adding%20a%20row%20button%20in%20an%20IR%20(3).webp)

[*![Oracle APEX security](https://content.dsp.co.uk/hs-fs/hubfs/Oracle%20APEX%20security.webp?width=569&name=Oracle%20APEX%20security.webp)*](https://content.dsp.co.uk/hubfs/Oracle%20APEX%20security.webp)

Step 4) Create a new hidden item to store the EMPNO to delete :**PX_DELETE_EMP**

Ensure the Settings on the item are:

[![Oracle APEX settings](https://content.dsp.co.uk/hs-fs/hubfs/Oracle%20APEX%20settings.png?width=211&name=Oracle%20APEX%20settings.png)](https://content.dsp.co.uk/hubfs/Oracle%20APEX%20settings.png)

Step 5) In ‘Link’ Attribute select [![Oracle APEX no link defined](https://content.dsp.co.uk/hs-fs/hubfs/Oracle%20APEX%20no%20link%20defined.webp?width=499&name=Oracle%20APEX%20no%20link%20defined.webp)](https://content.dsp.co.uk/hubfs/Oracle%20APEX%20no%20link%20defined.webp)and Oracle APEX adding a row button in an IR and populate the link builder: 

| **Target** | URL |
| --- | --- |
| **URL** | JavaScript:apex.confirm(“Are you sure you want to delete: #ENAME#?”,{request:”DELETE”,set:{“PX_DELETE_EMP”:#EMPNO#}});10 Things I Wish I Knew When I Started Using APEX |

When clicked a confirmation modal (JS) is displayed and if ‘OK’ is pressed the page will be submitted with the ‘DELETE’ request and the **:PX_DELETE_EMP** item is populated with the selected EMPNO.

Remember to replace ‘PX’ with your page number in the example.

**Link Text/Attributes: **Copy from Button Builder

[![Oracle APEX link text attributes](https://content.dsp.co.uk/hs-fs/hubfs/Oracle%20APEX%20link%20text%20attributes.png?width=569&name=Oracle%20APEX%20link%20text%20attributes.png)](https://content.dsp.co.uk/hubfs/Oracle%20APEX%20link%20text%20attributes.png)

Step 6) Create a Process to delete the employee using the PX_DELETE_EMP

[![Oracle APEX delete employee](https://content.dsp.co.uk/hs-fs/hubfs/Oracle%20APEX%20delete%20employee.webp?width=569&name=Oracle%20APEX%20delete%20employee.webp)](https://content.dsp.co.uk/hubfs/Oracle%20APEX%20delete%20employee.webp)

[![Oracle APEX server side condition](https://content.dsp.co.uk/hs-fs/hubfs/Oracle%20APEX%20server%20side%20condition.webp?width=569&name=Oracle%20APEX%20server%20side%20condition.webp)](https://content.dsp.co.uk/hubfs/Oracle%20APEX%20server%20side%20condition.webp)

And Voila!

[![Oracle APEX end product](https://content.dsp.co.uk/hs-fs/hubfs/Oracle%20APEX%20end%20product.gif?width=569&name=Oracle%20APEX%20end%20product.gif)](https://content.dsp.co.uk/hubfs/Oracle%20APEX%20end%20product.gif)

### Quick picks – Clear Form Item

A really simple but effective one, a ‘Clear’ link on any form item allowing the user to clear any pre-populated data in the item.

Simply enable Quick Picks from the Attributes of the item and populate as below.

[![Oracle APEX quick picks](https://content.dsp.co.uk/hs-fs/hubfs/Oracle%20APEX%20quick%20picks.png?width=279&name=Oracle%20APEX%20quick%20picks.png)](https://content.dsp.co.uk/hubfs/Oracle%20APEX%20quick%20picks.png)

[![Oracle APEX quick picks](https://content.dsp.co.uk/hs-fs/hubfs/Oracle%20APEX%20quick%20picks%20(1).gif?width=291&name=Oracle%20APEX%20quick%20picks%20(1).gif)](https://content.dsp.co.uk/hubfs/Oracle%20APEX%20quick%20picks%20(1).gif)

### Close dialog refresh

If you have been using APEX for any length of time you will definitely know this one, but if you are just starting out it can be a bit confusing when your report doesn’t refresh after an update is performed on the data via a modal dialog.

You could submit the page on close of the dialog, but there is a more efficient way:

Step 1) On the report page, create a ‘Dialog Closed’ Dynamic Action and populate the following attributes:

| **Identification** |   |
| --- | --- |
| Name | Close Dialog |
| **When** |   |
| Event | Dialog Closed |
| Selection Type | Region |
| Region | <name of report region> |

Step 2) Create a True action with the following attributes:

| **Identification** |   |
| --- | --- |
| Action | Refresh |
| **Affected Elements** |   |
| Selection Type | Region |
| Region | <name of report region> |

And…that’s it! It is important that the Selection Type in Step 1 is the region/button etc that the modal was triggered from. So in our example we assume that an edit modal has been triggered from a link /button contained in an IR.

### Dynamic Multi-Row Item Plugin

When working on a project, I was asked to create a form to enter invoice details, but the invoice lines had to be dynamic as there could be multiple. It is possible to achieve this using the [apex_item package](https://docs.oracle.com/en/database/oracle/application-express/20.1/aeapi/APEX_ITEM.html) and a PL/SQL Dynamic Content Region but there had to be an easier way I thought. I was recommended the ‘APEX-MultiRow-Item’ Plugin (created by another Oracle ACE on our consultancy team [Rodrigo Mesquita](https://twitter.com/mesquitarod?s=20)). This allowed me to easily add the dynamic item I required.

[![Oracle APEX dynamic-row item plugin](https://content.dsp.co.uk/hs-fs/hubfs/Oracle%20APEX%20dynamic-row%20item%20plugin.gif?width=569&name=Oracle%20APEX%20dynamic-row%20item%20plugin.gif)](https://content.dsp.co.uk/hubfs/Oracle%20APEX%20dynamic-row%20item%20plugin.gif)

Step 1) Download and install the plugin from [here](https://apex.world/ords/f?p=100:710:11120277931969::::P710_PLG_ID:MESQUITAROD.MULTIROW.ITEM)

Step 2) Create a page item with the following attributes:

[![Oracle APEX plugin identification](https://content.dsp.co.uk/hs-fs/hubfs/Oracle%20APEX%20plugin%20identification.webp?width=494&name=Oracle%20APEX%20plugin%20identification.webp)](https://content.dsp.co.uk/hubfs/Oracle%20APEX%20plugin%20identification.webp)

Step 3) That’s it!

On page submit the multiple values will be stored in the item, separated by ‘:’.

![10 Things I Wish I Knew When I Started Using APEX](https://content.dsp.co.uk/hs-fs/hubfs/Imported_Blog_Media/word-image-23-1.png?width=574&height=30&name=word-image-23-1.png)

You can then use apex_string.split ([docs](https://docs.oracle.com/en/database/oracle/application-express/20.1/aeapi/SPLIT-Function-Signature-1.html#GUID-3BE7FF37-E54F-4503-91B8-94F374E243E6)) to return a table of type apex_t_varchar2, which you can then loop through.

[![Oracle APEX string split](https://content.dsp.co.uk/hs-fs/hubfs/Oracle%20APEX%20string%20split.webp?width=487&name=Oracle%20APEX%20string%20split.webp)](https://content.dsp.co.uk/hubfs/Oracle%20APEX%20string%20split.webp)

*Example of a proc to insert values in a table*

### Basic Debugging

When I first started using PL/SQL and APEX I didn’t know where to start when debugging my code. There are built-in debugging tools in SQL Developer and PL/SQL Developer that I won’t go into here, however for a simple ‘console.log’ type debug you can use the apex_debug package.

1. Simply add:

***apex_debug.message(‘lv_variable_to_check: ‘||lv_variable_to_check); ***to the line in your code you want to check the value of the variable.

For example if I wanted to check the value of the **:P3_DELETE_EMP** in my delete process from earlier I would add this to the process:

[![Oracle APEX basic debugging](https://content.dsp.co.uk/hs-fs/hubfs/Oracle%20APEX%20basic%20debugging.webp?width=414&name=Oracle%20APEX%20basic%20debugging.webp)](https://content.dsp.co.uk/hubfs/Oracle%20APEX%20basic%20debugging.webp)

1. Then turn on Debug mode in your app [![Oracle APEX debugging](https://content.dsp.co.uk/hs-fs/hubfs/Oracle%20APEX%20debugging.png?width=95&name=Oracle%20APEX%20debugging.png)](https://content.dsp.co.uk/hubfs/Oracle%20APEX%20debugging.png)
2. In the app – Perform the action that triggers the process.
3. Select [![Oracle APEX view debugging](https://content.dsp.co.uk/hs-fs/hubfs/Oracle%20APEX%20view%20debugging.png?width=127&name=Oracle%20APEX%20view%20debugging.png)](https://content.dsp.co.uk/hubfs/Oracle%20APEX%20view%20debugging.png) and select the triggered process to view the log
4. You will see the debug printed out after the process in the log [![Oracle APEX emp to delete](https://content.dsp.co.uk/hs-fs/hubfs/Oracle%20APEX%20emp%20to%20delete.png?width=161&name=Oracle%20APEX%20emp%20to%20delete.png)](https://content.dsp.co.uk/hubfs/Oracle%20APEX%20emp%20to%20delete.png)

### Using JavaScript in your application

You can create Enterprise level applications using out of the box APEX and PL/SQL functionality, but there are times where you will want to implement some JavaScript in your application. There is an extensive list of JavaScript functions available for use in the Oracle [JavaScript API Reference](https://docs.oracle.com/en/database/oracle/application-express/20.1/aexjs/index.html). You can also easily declare your own to use at page or application level. To do this, simply select the page level rendering and in the ‘JavaScript’ Attribute add your functions to the ‘Function and Global Variable Declaration’

[![Oracle APEX using JavaScript in your application](https://content.dsp.co.uk/hs-fs/hubfs/Oracle%20APEX%20using%20JavaScript%20in%20your%20application.webp?width=523&name=Oracle%20APEX%20using%20JavaScript%20in%20your%20application.webp)](https://content.dsp.co.uk/hubfs/Oracle%20APEX%20using%20JavaScript%20in%20your%20application.webp)

Any functions declared here can be utilised anywhere JavaScript is allowed on that page.

If you are using more than the odd function, it is advised that you store your JavaScript in a separate file, which can be referenced from multiple pages.

To do this simply upload the .js file via [![Oracle APEX shared components](https://content.dsp.co.uk/hs-fs/hubfs/Oracle%20APEX%20shared%20components.png?width=298&name=Oracle%20APEX%20shared%20components.png)](https://content.dsp.co.uk/hubfs/Oracle%20APEX%20shared%20components.png)

You can add the reference [![Oracle APEX app images](https://content.dsp.co.uk/hs-fs/hubfs/Oracle%20APEX%20app%20images.png?width=193&name=Oracle%20APEX%20app%20images.png)](https://content.dsp.co.uk/hubfs/Oracle%20APEX%20app%20images.png) to the file URLs in the page attributes of any pages you want to utilise the JavaScript in.

[![Oracle APEX JavaScript file URLs](https://content.dsp.co.uk/hs-fs/hubfs/Oracle%20APEX%20JavaScript%20file%20URLs.png?width=190&name=Oracle%20APEX%20JavaScript%20file%20URLs.png)](https://content.dsp.co.uk/hubfs/Oracle%20APEX%20JavaScript%20file%20URLs.png)

If you want the entire application to have access to the JavaScript in the file you need to add the reference to Shared Components -> User Interface Attributes

Then in the JavaScript tab enter the file reference here:

[![Oracle APEX file URLs app images](https://content.dsp.co.uk/hs-fs/hubfs/Oracle%20APEX%20file%20URLs%20app%20images.png?width=277&name=Oracle%20APEX%20file%20URLs%20app%20images.png)](https://content.dsp.co.uk/hubfs/Oracle%20APEX%20file%20URLs%20app%20images.png)

I hope that if you are just starting your APEX journey, this has given you some insight and maybe a few techniques to try in your next application.

---

**Need some help with your [APEX applications](https://www.dsp.co.uk/oracle-apex-application-development)? [Get in touch](mailto:enquiries@dsp.co.uk) with the experts today.**

**[![Book a meeting with an Oracle APEX expert](https://no-cache.hubspot.com/cta/default/3321273/5db1aa70-8710-434d-9e0b-6b1c26541a0c.png)](https://cta-redirect.hubspot.com/cta/redirect/3321273/5db1aa70-8710-434d-9e0b-6b1c26541a0c)**

---

**Author**: [Lee Burgess](https://content.dsp.co.uk/apex/author/lee-burgess)

**Job Title**: Oracle Development Consultant

**Bio**: Lee is a Development Consultant at DSP. After a change of career, he began working with Oracle Technologies and specialising in SQL and PL/SQL Programming. His previous role involved developing an Enterprise application using APEX, and since then has never looked back. Here at DSP, he is part of a highly skilled development team providing APEX development solutions and training to both UK and international businesses.

---

 

[Development](https://content.dsp.co.uk/topic/development) [Help Hints](https://content.dsp.co.uk/topic/help-hints) [APEX](https://content.dsp.co.uk/topic/apex) [Oracle APEX](https://content.dsp.co.uk/topic/oracle-apex)

[01-Sep-2020 10:06:07

Faster APEX get the browser to work for you

](https://content.dsp.co.uk/faster-apex-get-the-browser-to-work-for-you) [18-Aug-2020 12:12:19

When to AJAX Callback vrs. When to Dynamic Action

](https://content.dsp.co.uk/when-to-ajax-callback-vrs-when-to-dynamic-action) [04-Sep-2020 13:43:46

APEX REST Enabled Forms

](https://content.dsp.co.uk/apex-rest-enabled-forms)

[Previous

Limited Edition?: A ‘Blog Standard Approach’ to remaining on Oracle Database Standard Edition 2

](https://content.dsp.co.uk/limited-edition-a-blog-standard-approach-to-remaining-on-oracle-database-standard-edition-2)

[Next

APEX 20.2 New Reporting Features

](https://content.dsp.co.uk/apex-20-2-new-reporting-features)

#### Contact

Sales Enquiries  
[+44 (0) 203 880 1686](tel:+4420%2038801686)

Technical Support  
+44 (0) 330 058 8367

[enquiries@dsp.co.uk](mailto:enquiries@dsp.co.uk)

#### Follow us

<https://www.linkedin.com/company/dsp-explorer> <https://twitter.com/dspexplorer> <https://www.facebook.com/DSPcloud>

#### Office Locations

[**London (Head Office)**](https://www.google.com/maps/place/Fora+-+Chancery+House/@51.5174484,-0.1139686,198m/data=!3m2!1e3!5s0x48761adea956397d:0xb7585122cbe86fc0!4m6!3m5!1s0x48761b4b75bf77fb:0x97c4f0ad56af6d23!8m2!3d51.5174586!4d-0.1129066!16s%2Fg%2F11h_cy7xk5?entry=ttu&g_ep=EgoyMDI1MTAwOC4wIKXMDSoASAFQAw%3D%3D)  
[Chancery House](https://www.google.com/maps/place/Fora+-+Chancery+House/@51.5174484,-0.1139686,19z/data=!3m1!5s0x48761adea956397d:0xb7585122cbe86fc0!4m6!3m5!1s0x48761b4b75bf77fb:0x97c4f0ad56af6d23!8m2!3d51.5174586!4d-0.1129066!16s%2Fg%2F11h_cy7xk5?entry=ttu&g_ep=EgoyMDI1MDkyOS4wIKXMDSoASAFQAw%3D%3D)  
[53-64 Chancery Lane](https://www.google.com/maps/place/Fora+-+Chancery+House/@51.5174484,-0.1139686,19z/data=!3m1!5s0x48761adea956397d:0xb7585122cbe86fc0!4m6!3m5!1s0x48761b4b75bf77fb:0x97c4f0ad56af6d23!8m2!3d51.5174586!4d-0.1129066!16s%2Fg%2F11h_cy7xk5?entry=ttu&g_ep=EgoyMDI1MDkyOS4wIKXMDSoASAFQAw%3D%3D)  
[London](https://www.google.com/maps/place/Fora+-+Chancery+House/@51.5174484,-0.1139686,19z/data=!3m1!5s0x48761adea956397d:0xb7585122cbe86fc0!4m6!3m5!1s0x48761b4b75bf77fb:0x97c4f0ad56af6d23!8m2!3d51.5174586!4d-0.1129066!16s%2Fg%2F11h_cy7xk5?entry=ttu&g_ep=EgoyMDI1MDkyOS4wIKXMDSoASAFQAw%3D%3D)  
[WC2A 1QS](https://www.google.com/maps/place/Fora+-+Chancery+House/@51.5174484,-0.1139686,19z/data=!3m1!5s0x48761adea956397d:0xb7585122cbe86fc0!4m6!3m5!1s0x48761b4b75bf77fb:0x97c4f0ad56af6d23!8m2!3d51.5174586!4d-0.1129066!16s%2Fg%2F11h_cy7xk5?entry=ttu&g_ep=EgoyMDI1MDkyOS4wIKXMDSoASAFQAw%3D%3D)

[**Leeds**  
Richmond House,  
Lawnswood Business Park,  
Leeds,  
LS16 6QY](https://www.google.com/maps/dir/53.8405223,-1.6062773/DSP-Explorer/@53.8404788,-1.6061783,17z/data=!4m9!4m8!1m1!4e1!1m5!1m1!1s0x4879591e5d204ac9:0x4e41b926d72adca!2m2!1d-1.6064847!2d53.8404842)

[**Derby**](https://www.google.com/maps/place/Cubo+Pride+Park/@52.9142877,-1.4558952,331m/data=!3m2!1e3!5s0x4879f10728c1eea1:0x877f85530d38bf6!4m15!1m8!3m7!1s0x4879f1072b0e2ebb:0x7c717035ff049b12!2sPride+Pl,+Derby+DE24+8QR!3b1!8m2!3d52.913692!4d-1.4543743!16s%2Fg%2F1th7mf0r!3m5!1s0x4879f16809382b33:0x6fccc05b8500d970!8m2!3d52.914146!4d-1.4544105!16s%2Fg%2F11w4j8v8z2?entry=ttu&g_ep=EgoyMDI1MDYyMi4wIKXMDSoASAFQAw%3D%3D)  
[Cubo Pride Park,](https://www.google.com/maps/place/Cubo+Pride+Park/@52.9142877,-1.4558952,331m/data=!3m2!1e3!5s0x4879f10728c1eea1:0x877f85530d38bf6!4m15!1m8!3m7!1s0x4879f1072b0e2ebb:0x7c717035ff049b12!2sPride+Pl,+Derby+DE24+8QR!3b1!8m2!3d52.913692!4d-1.4543743!16s%2Fg%2F1th7mf0r!3m5!1s0x4879f16809382b33:0x6fccc05b8500d970!8m2!3d52.914146!4d-1.4544105!16s%2Fg%2F11w4j8v8z2?entry=ttu&g_ep=EgoyMDI1MDYyMi4wIKXMDSoASAFQAw%3D%3D)  
[1 Pride Place](https://www.google.com/maps/place/Cubo+Pride+Park/@52.9142877,-1.4558952,331m/data=!3m2!1e3!5s0x4879f10728c1eea1:0x877f85530d38bf6!4m15!1m8!3m7!1s0x4879f1072b0e2ebb:0x7c717035ff049b12!2sPride+Pl,+Derby+DE24+8QR!3b1!8m2!3d52.913692!4d-1.4543743!16s%2Fg%2F1th7mf0r!3m5!1s0x4879f16809382b33:0x6fccc05b8500d970!8m2!3d52.914146!4d-1.4544105!16s%2Fg%2F11w4j8v8z2?entry=ttu&g_ep=EgoyMDI1MDYyMi4wIKXMDSoASAFQAw%3D%3D)  
[Derby](https://www.google.com/maps/place/Cubo+Pride+Park/@52.9142877,-1.4558952,331m/data=!3m2!1e3!5s0x4879f10728c1eea1:0x877f85530d38bf6!4m15!1m8!3m7!1s0x4879f1072b0e2ebb:0x7c717035ff049b12!2sPride+Pl,+Derby+DE24+8QR!3b1!8m2!3d52.913692!4d-1.4543743!16s%2Fg%2F1th7mf0r!3m5!1s0x4879f16809382b33:0x6fccc05b8500d970!8m2!3d52.914146!4d-1.4544105!16s%2Fg%2F11w4j8v8z2?entry=ttu&g_ep=EgoyMDI1MDYyMi4wIKXMDSoASAFQAw%3D%3D)  
[DE24 8QR](https://www.google.com/maps/place/Cubo+Pride+Park/@52.9142877,-1.4558952,331m/data=!3m2!1e3!5s0x4879f10728c1eea1:0x877f85530d38bf6!4m15!1m8!3m7!1s0x4879f1072b0e2ebb:0x7c717035ff049b12!2sPride+Pl,+Derby+DE24+8QR!3b1!8m2!3d52.913692!4d-1.4543743!16s%2Fg%2F1th7mf0r!3m5!1s0x4879f16809382b33:0x6fccc05b8500d970!8m2!3d52.914146!4d-1.4544105!16s%2Fg%2F11w4j8v8z2?entry=ttu&g_ep=EgoyMDI1MDYyMi4wIKXMDSoASAFQAw%3D%3D)  
**  
[Dublin](https://www.google.com/maps/search/Inniscarra,+Main+Street,+Rathcoole,+Dublin/@53.2810032,-6.4764674,17z/data=!3m1!4b1?entry=ttu)**  
[Inniscarra,](https://www.google.com/maps/search/Inniscarra,+Main+Street,+Rathcoole,+Dublin/@53.2810032,-6.4764674,17z/data=!3m1!4b1?entry=ttu)  
[Main Street,](https://www.google.com/maps/search/Inniscarra,+Main+Street,+Rathcoole,+Dublin/@53.2810032,-6.4764674,17z/data=!3m1!4b1?entry=ttu)  
[Rathcoole,](https://www.google.com/maps/search/Inniscarra,+Main+Street,+Rathcoole,+Dublin/@53.2810032,-6.4764674,17z/data=!3m1!4b1?entry=ttu)  
[Dublin](https://www.google.com/maps/search/Inniscarra,+Main+Street,+Rathcoole,+Dublin/@53.2810032,-6.4764674,17z/data=!3m1!4b1?entry=ttu)<https://www.google.com/maps/place/70+Gracechurch+St,+Langbourn,+London+EC3V+0XL/@51.512117,-0.0869173,17z/data=!3m1!4b1!4m5!3m4!1s0x4876035256ab55cb:0x1f93b337c0190cf0!8m2!3d51.512117!4d-0.0847286><https://www.google.com/maps/place/Devonshire+House/@51.2797714,-1.0679275,15z/data=!4m5!3m4!1s0x0:0x4f204507edd15263!8m2!3d51.2797718!4d-1.0679748>

#### About Us

DSP is a Data Management and Cloud Platform MSP that delivers enterprise grade support & consulting services for Oracle, Microsoft and Multi-Cloud technologies.

![Oracle Partner](https://content.dsp.co.uk/hubfs/logo-2021/Partner-logos/Oracle-logos/Colour/o-prtnr-cmyk-250.png)

![Microsoft Partner](https://content.dsp.co.uk/hubfs/Microsoft%20partner%20logos%20-%20July%202023/mic-sol-part-colour@200x.png)

![Google Cloud Partner](https://content.dsp.co.uk/hubfs/logo-2021/Partner-logos/GCP-Logos/Google-Cloud-Partner%20(1).svg)

Registered Office: 30 City Road, London, EC1Y 2AB.  
Company Registration Number: 03898451

<https://content.dsp.co.uk/10-things-i-wish-i-knew-when-i-started-using-apex#>

```json
{
  "@context" : "https://schema.org",
  "@type" : "BlogPosting",
  "dateModified" : "2024-10-01",
  "datePublished" : "2024-10-01",
  "headline" : "10 Things I Wish I Knew When I Started Using APEX",
  "image" : [ "https://www.dsp.co.uk/hubfs/Oracle%20APEX%20delete%20employee.webp" ],
  "mainEntityOfPage" : {
    "@id" : "https://content.dsp.co.uk/10-things-i-wish-i-knew-when-i-started-using-apex",
    "@type" : "WebPage"
  }
}
```