Report Column Condition - LOV wird trotzdem ausgeführt
- Peter Raganitsch
- Kategorie: Oracle APEX, Oracle APEX, Tipps & Tricks | Tags: condition, lov
Ist eine Report-Spalte mit einer Condition versehen, so wird sie im Falle des Falles richtigerweise nicht dargestellt (gerendert), allerdings wird diese Spalte ganz normal verarbeitet.

Wenn es sich bei der Spalte um eine LOV-basierte Spalte handelt, so kann die zu ungewollten Side-effects führen.
Blendet man die Spalte z.b. aus Performancegründen aus, so wird das LOV-Statement trotz alledem ausgeführt.
Will man das verhindern, so kann man auf einen wenig dokumentieren Trick zurückgreifen:
Function based Query.
Soll heissen, statt dem SELECT-Statement wird eine Funktion aufgerufen, die selbst die Condition prüft und je nach Ausgang den einen oder anderen String als Function Result retourniert, der dann das auszuführende SELECT Statement enthält:

Vielen Dank an Scott Spadafore, der meine Forumsanfrage dazu schnellsten beantwortet hat.
