Peter Raganitsch

Report Column Condition - LOV wird trotzdem ausgeführt

Gepostet am 20. Mai 2009

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.

report_column_condition1

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:

report_column_function_based_query

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



Kommentar schreiben