Deutsches Application Express Forum (ApEx) -- Installation , Engine / SQL , Anwendungen
Maximum Row Count (APXWS_MAX_ROW_CNT) eines IR dynamisch ändern?
geschrieben von: Kirsten ()
Datum:

Hallo,

ich suche nach einer Lösung, um den Parameter APXWS_ROW_CNT (Maximum Row Count) dynamisch zu ändern.

D.h. wenn ein interaktiver Report aufgerufen wird, sollen als Default aus Performance-Gründen nur die ersten 10.000 Datensätze angezeigt werden.

Aber wenn der User möchte, soll er per Klick auf einen Button die Möglichkeit bekommen, alle Datensätze zu sehen.

Ich habe folgendes versucht:
1. Lasse Maximum Row Count in den Reportssettings (Pagination => Maximum Row Count) leer => alle Datensätze sollten angezeigt werden

2. Füge der Report-View eine Where-Bedingung hinzu:
select * from myView where rownum <= :P0_ROW_COUNT;

3. Setze den Default-Wert für P0_ROW_COUNT auf 10.000
4. Bei Klick auf einen Button setze den Wert auf 10.000.000

Die interne APEX-View für den Default-Wert sieht so aus


select * FROM (

select * from myView where rownum <= '10000'

) r


Scheint gut zu sein.

Aber wenn man jetzt im IR einen Filter setzt, z.B. SS_NANME = 'PP', sieht die interne APEX-view so aus:


Select * FROM (

select * from myView where rownum <= '10000'

) r

where ("SS_NAME" = 'PP')


Der Filter wird nur auf die ersten 10000 Datensätze angewandt, nicht auf die gesamte Datenbank.

Und wenn unter diesen ersten 10.000 Datensätzen keiner ist mit SS_NAME = 'PP', dann zeigt der Report auch keinen an, auch wenn u.U. Tausende Datensätze, die die Bedingung erfüllen, in der Datenbank sind.


Setzt man den Parameter APXWS_ROW_CNT auf 10000 bekommt man die interne APEX-view

Select *

FROM (

select * from (

select * from myView

) r

where ("SS_NAME" = 'PP')

) r where rownum <= to_number('10000')


=> Es wird über die gesamte Datenbank gesucht, aber man hat nicht die Möglichkeit, sich mehr als 10.000 Datensätze anzeigen zu lassen.


Hat jemand eine Idee?


Kirsten



Thema Neugierige geschrieben von geschrieben
Maximum Row Count (APXWS_MAX_ROW_CNT) eines IR dynamisch ändern? 4064 Kirsten


In diesem Forum dürfen nur registrierte Benutzer schreiben.
This forum powered by Phorum.