Oracle Apex: User Einstellungen eines Reports löschen

2014-06-01 von Mario

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:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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.

Report_with_sort

Mit der Ausführung der Prozedur

1
reset_report_curr_user_options(65775, 50, 47467819431230753912);

wird diese und alle anderen Einstellungen durch den User gelöscht.

statement_processed

Wenn die Seite mit dem Bericht im Browser aktualisiert wird, dann ist die “fehlende” Einstellung zu erkennen.

Report_without_sort

Kategorie: IT Schlagwörter: , , , , ,