APEXblog.nl - Tips and Tricks

About This Blog:
I (Richard Weug) started this blog primary for myself to save all kinds of Apex tips and tricks in one place. To use it as a place to write down how I used some coding in my own projects, but also to copy and paste all kinds of articles I find on the Internet. (So I never have to wonder on what website did I read about??? When I see something interesting I collect the content so I have my own archive/knowlegde base.

View my profile on LinkedIn




Query the APEX Metadata - #1 - Identify Public Pages

Written by Richard Weug on Tuesday, 05 August 2014 23:31. Posted in Tips and Tricks

As i introduced the my APEX QA Plugin, i was asked if i could help other people to get some special information out of the metadata of APEX. Especially in APEX, where every configuration is saved in the database, it's really easy to get some information of your application only by using one sql query. Because of that i will release every month one query to identify some interesting stuff.


jQuery - loop through a Tabular Form

Written by Richard Weug on Thursday, 31 July 2014 23:36. Posted in Tips and Tricks

This question is one of the frequently asked questions - "How do I loop through a tabular form using a dynamic action?". This example shows how to loop through a tabular form and set the values for each row to what ever you want. Using apex_application.g_fxx array is not an option for onload processes or dynamic actions. It can only be used in an on submit process. Using jQuery in a simple loop it is possible to read / set any of the values in any column. Try it out.

Original article: Denes Kubicek


Adding CSS buttons to your report

Written by Richard Weug on Tuesday, 22 April 2014 11:12. Posted in Template / CSS

I've liked this concept ever since I saw the packaged applications use this technique:



Automatically Add License Protection and Obfuscation to PL/SQL

Written by Richard Weug on Thursday, 17 April 2014 23:48. Posted in Tips and Tricks

Yesterday we released the new version 2.0 of our product PFCLObfuscate. This is a tool that allows you to automatically protect the intellectual property in your PL/SQL code (your design secrets) using obfuscation and now in version 2.0 we have added "dynamic obfuscation". This is a new engine added to our parser that allows dynamic obfuscation to be run at various "hook" points in your PL/SQL source code files. These hooks are reached at the start of a declaration block, end of a declaration block, start of a PL/SQL block or end of a PL/SQL block. Also hooks occur when a defined PL/SQL package or procedure is located. The dynamic obfuscation is completely configurable by the customer and adds very powerful features to PFCLObfuscate.

Dynamic obfuscation allows us to add deeper obfuscations and also to automatically add license protections to your PL/SQL code or even tamperproof protections. This means that you can deploy your PL/SQL code with license type features controlling how and when your customers can use your code.

Please contact me for more details if you are interested in this new version of our product. We have kept the license fees at version 1.0 levels for the initial release. I have just written a detailed blog post on our product website and included an example of automatically adding license features to a set of PL/SQL code. The blog is PFCLObfuscate - Protect your PL/SQL


Original Article:  Pete Finnigan


Process Message During Page Rendering

Written by Richard Weug on Thursday, 27 March 2014 14:44. Posted in Tips and Tricks


In this blog post I discussed how the processing message can be shown when we have a page process that may take a while to process.  Sometimes the delay may occur when the page is being rendered.  We may not want the user to begin doing anything on the page until the whole page is loaded and rendered.

This can be done by calling the apex.widget.waitPopup() function.  Edit the page definition and add javaScript to call the function to the Header Text.  

<script type="text/javascript">

We add it to the header text in hopes that the waiting functionality will be executed early in page rendering.

Once our page is loaded we need to remove the loading bar and enable the page.  In the page definition we can add some code to the "Execute when Page Loads" field of JavaScript section.

$(window).load( function() {



*** Please use at your own discretion.  The only apex.widget function included in the documentation is apex.widget.initPageItem(pName,pOptions).  The function described here is not documented (as far as I can tell) and may be changed at anytime.

( Oracle Application Express (APEX) 4.2.4 )

Original article written by:  Process Message During Page Rendering