Oracle Apex: User Einstellungen eines Reports löschen

2014-06-01 von admin

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.

Report_with_sort

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.

statement_processed

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

Report_without_sort

Kategorie: Programmierung Schlagwörter: , , , ,