Skip navigation.

Dimitri Gielis

Syndicate content
I created this Blog to share my knowledge especially in Oracle Application Express (APEX) and my feelings ...
Updated: 12 hours 58 sec ago

APEX Conferences in 2015

Wed, 2015-01-07 17:30
In 2015 most APEX-only conferences are scheduled in history. I definitely recommend to attend at least one of the conferences as it's a great time to meet other people, industry experts and the APEX Development Team.

You'll find me at following conferences:

25-MAR-2015: APEX World - Rotterdam, the Netherlands

Every year a hit - and this year extra special as it will be at a different location - the beautiful SS Rotterdam. It's not decided yet which topics I'll present in the Netherlands.



9/10-JUN-2015 - APEXConnect - Düsseldorf, Germany

It will be my first time at a conference hosted by DOAG. I've heard so many great things about the excitement there is in Germany for APEX, so I look forward meeting the people over there.

On the 10th at 11h I'll present about the integration of APEX and Microsoft Sharepoint.



21/25-JUN-2015 - ODTUG KScope - Hollywood, Florida

I attended KScope for the first time in 2006 and since then returned almost every year. One of my most favourite conferences for sure. On Sunday the APEX Development is hosting the APEX Symposium: a full day of talks by the development team themselves. It also gives you an opportunity to meet them and many other experts in a nice informal setting.

This year these are my talks:

  • A primer on Web Components in APEX
  • How to make APEX print through node.js




There are some other conferences with great APEX tracks, for example GLOC, Collaborate, DOAG, UKOUG, ...

Next to the conferences there are many local APEX Meetups too. It's a totally different setting and concept compared to a conference, so definitely something to check out too. You can take your code to the meetups and ask questions or show what you did yourself.

You'll find me at most (if not all) of the Belgium APEX Meetups and I might attend some other meetups or conferences depending my schedule.



Look forward seeing you at one of the conferences or meetups.

Categories: Development

Generating sample data for your APEX application

Tue, 2015-01-06 17:30
You need some sample data sometimes too? When I'm showing some new concepts at a customer or when I'm doing some training I just want some "random" data. Well, it's not really random data, it's a specific type of data I need depending the column and it should be a text that is somewhat meaningful and not hard to read like "1RT3HFIY".
When my wife is doing design and lay-out and she needs text, she's using Lorem Ipsum. In fact it's build in the Adobe tools she's using and the text looks readable (although it isn't). It would be so cool if for example SQL Developer had that feature "populate my table(s) with sample data" (even keeping relationships into account).
Before, I used data from all_objects or generated data with dbms_random and a connect by clause for the amount of records I wanted, but it wasn't ideal. I also looked at scrambling my data, which is nice because existing relations keep intact, but for me it didn't really work nicely if I needed to scramble a lot of columns. There're some companies having solutions for generating/scrambling data too, but below I want to share what I'm currently doing.
Go to generatedata.com and enter the definition of your table and which kind of data you want per column.

Once the definition is there you can define how you want to receive the data. I found the SQL tab didn't really work well, so I use CSV as output.
Next in Oracle SQL Developer I right click on my table and say "Import data" and select the csv.It automatically knows the format etc. and maps it correctly to my table. Hit Next and you have your sample data available :) 

You can also load the data straight from the Data Workshop in APEX.


Categories: Development

Highlight negative numbers in an APEX Report (css only)

Mon, 2015-01-05 17:30
Here's a screenshot of the result we want: the negative numbers are highlighted in red.

There're many ways to achieve highlighting certain areas in a report, but depending the complexity of the logic that defines what gets highlighted I use one of the following three techniques:
  1. CSS only
  2. CSS and a Dynamic Action with one line of JQuery
  3. CSS and a column in the SQL query that defines the class
In this post I will explain the first technique, the other two are for future posts.
CSS only solution to highlight a negative number
Create a classic Report (the same technique works for an Interactive Report). Edit the number column(s) you want to turn red in case it's negative and modify the Column Formatting as below.

I'm wrapping a span around my column (AMOUNT) and use the HTML5 data- attribute to store the number in that attribute. Doing this will allow me to use a CSS selector to see if it's a negative number or not. Unlike JQuery, CSS doesn't have a :contains selector, if it did, we didn't have to create the extra data-number attribute.

In the Page Attributes, in the CSS section we add following inline css (note you can add this to your Page Template too, so it works for all pages):

What the CSS is doing: every span with as attribute data-number that contains a - (dash - which means it's a negative number) we give the color red. 
That's it...

You find the online example here: https://www.apexrnd.be/ords/f?p=DGIELIS_BLOG:REPORT_HIGHLIGHT_CSS

Categories: Development

Creating a new APEX application

Sun, 2015-01-04 17:30
Previously I announced I would start a chain of blog posts related to Oracle Application Express. Next to the blog posts I'll build up a supporting APEX application where you can see the result of what I explain in real-time.

So, to start the chain I'll create a new APEX application. Almost in every project I start my APEX application the same way. Note that the screenshots are from APEX 4.2.6, as of the time of writing, that is the current latest production release, but I'll mention how things change with APEX 5.0
First I create a APEX application with the wizard (Create > Database application > Next > Next > Next > and use following settings for the Application Attributes:

For my navigation in the application I use Lists. Tabs are old school, so in this screen I changed the default One Level Tabs to No Tabs. If you like Tabs you can always apply a Tab template to your List. Note that in APEX 5.0 this is standard behaviour - APEX will create a "Navigation List" which you can give any look and feel you want.
The date format I filled in too. I like the DD-MON-YYYY format as there's no discussion what the format is (unlike dd/mm/yy or mm/dd/yy etc.)
In APEX 4.2 I start from Theme 25 as that is the responsive theme, so it will adapt to the type of screen it will be rendered on.

In APEX 5.0 I would go for the Universal Theme. That will be responsive and fully customisable through Theme Roller, but I will blog more about that once APEX 5.0 EA3 is released.
Next I give the application an alias (in Application Attributes), in my case DGIELIS_BLOG. That allows me to reference the application in an easier way than to remember the id of the app. 

I'll always create two pages: 
  1. the Global Page (Typically Page 0) which will serve the content that needs to be available on every page for example my List for navigation and my Breadcrumbs region.
  2. the Feedback Page, so people can immediate feedback of my application. This feedback will be captured in Team Development, a fully integrated project management feature of APEX.

The Feedback Page I customise further:


The Application and Page ID I make hidden as they are of less use for the customer. The A, X, Y items I delete. The APEX Development team created those items to align the items better (start-stop table), but with the responsive theme 25 they are not necessary and just overkill. I hope in APEX 5.0 those items are not there anymore.Finally I give the buttons a template (button Template) and make the Submit button hot.

One of my best practices is to make at least one button per page "hot" - the button that is likely to be used most of the time - as that makes the page more lively and user friendly.

The last step for my new application is to create my main navigation. So I create a List (Shared Components > Lists). I create a static List with as name Navigation and I enter the Home Page as first item in the list. Note that in APEX 5.0 such a list will automatically be created for you.

I will add this list to the Global Page (0) - add new Region without Template and select the list.
If you like Tabs, you can chose the Page Level Tabs List for your List Template:

If you selected a List Template different than Tabs you are done, but if you want to see real Page Tabs, you need to read further.
Before those Tabs are visible we need to make sure our Page Template supports tabs.
As during the creation of the application we chose not to use tabs, the default Page template didn't include a "Tab space", so we need to change that.
Go to Shared Components > Themes - Edit Theme (Tasks) - and select for your Page: One Level Tabs:



Now if you place the List Region on Page 0 at Position 6 the List will show up as Tabs as you expect.

You find the app at https://www.apexrnd.be/ords/f?p=DGIELIS_BLOG.

Tomorrow we'll add a report and highlight the negative numbers (with just some css!).
Categories: Development

2015 - "The" Year of Oracle Application Express (APEX)

Sun, 2014-12-28 16:04
The year 2014 was the 10th anniversary of Oracle Application Express (APEX). I still find it unbelievable 10 years have pasted. Time flew by... you might think that after 10 years of building APEX applications the technology is out-dated or you get tired of it, but more the opposite is true.

Oracle Application Express is a web technology and the web evolves fast, which keeps it interesting and fun. We can follow the latest and greatest in web world, integrate it with APEX and give our apps any look and feel we want. Next to that, APEX is build on top of the Oracle Database, so we can leverage all the functionalities of the database.

So the longer you work with the Oracle database and the more you know of web technologies, the more you can do in APEX. That's why I don't find it boring after 10 years - it's fun!

And now 2015 is just around the corner, so what about APEX?



The 5.0 release of APEX will go live in Q1 - it's the biggest release of Oracle Application Express in the last 10 years. It has the most advanced development interface in history. Every single page is updated within the Builder and it comes with a gorgeous new UI.
In short: it's the best release ever.

So the year 2015, will be "The" year of Oracle Application Express.

To celebrate "The" APEX year - I put myself a challenge ... on January 5th I'll start my chain of blogging and will do a new (APEX related) blog post every single day.  I hope to get a chain of at least a 100... let's see how far I get :) thanks for being part of it!
Categories: Development