APEX Validation: Check overlapping time periods

There is a easy way to check if a row with overlapping time periods exists inside your table.

We assume that our table is called T_MACHINE with the columns m_id (PK), valid_from and valid_until 

All you need to do is to create the following APEX validation:
Validation type: NOT Exist

SQL:
select 1 from T_MACHINE
WHERE (:P6_ID IS NOT NULL AND M_ID != :P6_ID OR :P6_ID IS NULL)
AND (VALID_FROM <= TO_DATE(:P6_UNTIL,'DD.MM.YYYY')) and (more...)

Scroll to the top of your page/report

In case you use partial page refresh inside your reports you may have encountered an issue that you always stay on the bottom of the page even after the refresh of the report.  One of my customer marked this as a bug and meant that after the refresh the display position should be at the beginning of the report.

Seems complicated but worked out to be really easy:
Add a dynamic action: After refresh (more...)

APEX Vortrag und APEX Stammtisch

Am 05.02.2014 (Rhein-Main, Neu-Isenburg) halte ich einen APEX Vortrag zum Thema Pivotreports.
Details findet Ihr hier: http://www.doag.org/termine/termine.php?tid=473736

Außerdem plant die Community nun schon seit einiger Zeit an einem APEX Stammtisch in Frankfurt.
Wer Interesse hat kann sich hier anmelden: http://doodle.com/b9uqef2338itkgkv
Mit etwas Glück könnte der Termin im Anschluss des DOAG Treffens stattfinden. :D

Schon etwas weiter in der Zukunft (Mai 2014) liegt der nächste Best Practices Kurs von (more...)

Suchen von Informationen innerhalb der APEX-Entwicklungsumgebung

Seit Version 4 von APEX ist es möglich, nach bestimmten Begriffen innerhalb der APEX Applikation zu suchen.
Beispielsweise: Wo verwende ich überall die Tabelle TBL_APEX_AT_WORK


Neben dieser Funktionalität kommt es auch häufig vor, dass man innerhalb des eigenen Oracle Schemas nach der selben Information suchen möchte.
Gute Beispiele dafür sind Views und Packages:

-- Auswerten von Packages, Funktionen, Prozeduren und Triggern
select name, text
from user_source
where upper(text) like '%TBL_APEX_AT_WORK%'
order by line;

-- Auswerten (more...)

SQL Developer 4 is out

New version of the Oracle SQL Developer is out:
http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html

New features can be found here:
http://www.oracle.com/technetwork/developer-tools/sql-developer/sqldev-newfeatures-v4-1925252.html

Disable input elements in tabular form

There is a quite often requirement to disable a tabular form column based on the row information.

I got a customer request with the following requirement:
A select list column of a tabular form should be disabled (row based) when the value of another column is like SYSDATE.

There are (more...)

Working with multiple browser tabs

When I develop APEX applications I use several browser tabs to navigate between the executed application and the application builder. There is one side affect which drives me crazy sometimes.

TAB 1: Executed application
TAB 2: Application Builder

How do I work?
I edit an item inside the application builder (more...)

Working with XML files and APEX – Part 2: Selecting data from XMLType

After we successfully imported XML files into our APEX application. It's time to start to analyze them.

We still assume that this is our example XML file:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<leagues>
<league id="1" name="2. Bundeliga">
<teams>
<team>
<id>1</id>
<name location="Dresden" stadium="Glücksgas-Stadion">SG Dynamo Dresden</name>
</team>
<team>
<id>2</id>
(more...)

New beta version of the APEX Blog-aggregator is online

Check out the updated blog aggregator on http://www.odtug.com/apex

Finally some major usability extensions were integrated. Looks like APEX to me.

Advantages:
  - You can search the blog posts at least back into the year 2008.
  - Watch the last 100 posts
  - No more problems (more...)

Update an APEX tree dynamically

I was asked by an APEX developer if it is possible to dynamically update an APEX tree by changing an APEX item.

Example select:
select case when connect_by_isleaf = 1 then 0 when level = 1 then 1 else -1 end as status,
level,
ENAME as title
NULL as icon,
(more...)

Working with XML files and APEX – Part 1: Upload

Working with Oracle and XML can be a pain in the ass especially at the beginning when you don't know the hidden secrets. :) That's why I want to give some major hints how to integrate XML files in APEX applications.

This time I will provide an easy way how (more...)

Switching from Windows to Mac

A year ago I bought a Macbook Pro and tried to develope APEX applications with it successfully.
You may ask yourself why? I just want to stay "up to date" and work with the best technique on the market. A couple of colleagues mentioned the performance is better with Mac. (more...)

APEX sei ein langsames Tool

Nachdem ich den Blogpost von Joel Kallman gelesen habe, dachte ich mir ein paar eigene Erfahrungen zum Thema APEX und Performance beizutragen.

Die Aussage APEX sei ein langsames inperformantes Tool, ist einfach nur FALSCH!
Wenn jemand ein Auto mit angezogener Handbremse fährt, dann liegt die langsame Geschwindigkeit nicht am Auto (more...)

Example using the analytical function: LAG

I'm actually a big fan of using analytical functions instead of using SUB-Selects or custom PL/SQL functions.

The reason is quite simple: 
You save a lot of SQL executing time.

Another positive side is: 
The amount of code lines is also less then the other two solutions would need.

Negativ (more...)