Anmelden

View Full Version : Von Batchjob den ursprünglichen User rausbekommen



Dominic K.
15-08-18, 08:39
Hallo an alle :)

ich habe hier ein Verwaltungsprogramm wo ich das manuelle Löschen von Datensätzen in einer Sitzung mitloggen möchte.

Ich hatte das ganze schon auf der Testmaschine umgesetzt und lief 1A, nun habe ich aber auf der Produktionsmaschine merken müssen das sich das Programm dort anders verhält, denn dort wird die Auswahl 4 = Löschen nicht interaktiv sondern per Batchjob ausgeführt.

Wenn ich dann z.B. mit SQL und Current_User arbeite bekomme ich nur den Batchjobuser, nicht den User der das Löschen veranlasst hat.
Gibt es dafür eine Lösung oder ein Workaround, ich möchte ungern ein dutzend Programme anpassen nur damit ich den tatsächlichen User per Parameter mitschleifen kann.

Viele Grüße
Dominic

Fuerchau
15-08-18, 09:12
Hierfür kannst du
a) per RTVJOBA
b) per SQL-Wrapper auf RTVJOBA
das Attribut Submitted Job-User auslesen.
Allerdings ist das dann der Jobuser des Submitters und nicht der ggf. durch SQL geänderte Current User (z.B. bei ODBC-Jobs) des Jobs.
Hierfür musst du dann das JOB-API verwenden um aus dem Submitted-Job den Current-User auszulesen, wobei allerdings dieser Job ggf. nicht mehr existiert oder bei ODBC-Jobs der Current User wieder geändert ist.

Dominic K.
15-08-18, 14:36
Danke für die Erklärung und den Hinweis auf RTVJOBA!
Eine Frage noch dazu, was meinst du mit SQL Wrapper auf RTVJOBA ? Hast du da ein Beispiel, mir fehlt gerade die Vorstellung was du damit meinst.

Viele Grüße
Dominic

andreaspr@aon.at
15-08-18, 15:06
Du kannst z.B. ein CL-PGM/Modul erstellen und daraus eine Externe SQL Funktion bauen.
Hier (https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_71/db2/rbafzcfsce.htm) hast du die Beschreibung dafür inkl. einem Beispiel unten.
Hoffe das hilft dir weiter.

lg Andreas