Oracle Apex: User Einstellungen eines Reports löschen
Aufgrund eines Implementierungsfehlers in einer selbst geschriebenen Apex Anwendung hat ein Report unter einem bestimmten User nicht mehr wie gewünscht funktioniert. Mit dieser Prozedur werden alle Einstellungen eines Reports für alle aktuell angemeldeten Benutzer gelöscht und das Problem ist gelöst:
CREATE OR REPLACE PROCEDURE reset_report_curr_user_options( p_app_id IN number, p_page_id IN number, p_region_id IN number) IS l_sort_pref VARCHAR2 (200); BEGIN l_sort_pref := 'FSP' || p_app_id || '_P' || p_page_id || '_R' || p_region_id || '_SORT'; for x IN (select distinct USER_NAME from apex_workspace_sessions) loop HTMLDB_UTIL.remove_preference (l_sort_pref, x.USER_NAME); end loop; END; /
Anhand eines Beispiels soll der Vorgang verdeutlicht werden. Bei der Spalte “CUST_FIRST_NAME” ist die Einstellung Sortieren durch den Anwender gesetzt worden.
Mit der Ausführung der Prozedur
reset_report_curr_user_options(65775, 50, 47467819431230753912);
wird diese und alle anderen Einstellungen durch den User gelöscht.
Wenn die Seite mit dem Bericht im Browser aktualisiert wird, dann ist die “fehlende” Einstellung zu erkennen.