Zitat Zitat von Gutmann Beitrag anzeigen
Ich möchte gerne (Teile) der Informationen aus Systemview QSYS2.USER_INFO nutzen. Bislang haben wir in einem Nachtlauf eine Datei aufgebaut, mit der Konsequenz veraltete Daten zu haben.
Ich mag ja altmodisch sein, aber hast Du mal mit RTVUSRPRF gegengeprobt?

Frage 1 dürfte sich in Kombination mit DSPOBJD > File > RTVUSRPRF in einem CL erklären. Bei 1500 Userprofilen, die vielleicht zufällig noch Eigner vieler Objekte sind, kann das vorkommen.
Frage 2 - Objektberechtigungen auf die Userprofile?
Frage 3 - was solls werden? Eine Auswertung gesperrter Userprofile? Auch hier würde ich zum altmodischen CL greifen, auch wenn es schön ist, daß man inzwischen vieles mit SQL regeln kann. Gewisse Nachteile hast Du ja bemerkt ;-)
Frage allgemein: Was bedeutet "veraltete" Daten? Willst Du beim Anmelden eines Users über eine SQL-basierte Anwendung Daten wie "letztes Anmelden" ermitteln? Siehe oben, geht auch mit den alten Umwegen. Wenn das zu langsam ist, analysieren lassen, was der Apparat macht...

Das Problem ist, daß diese SQL-gekapselten "Vereinfachungsroutinen" auch nicht wirklich anders arbeiten, als im Hintergrund mit den gleichen APIs zu arbeiten, als ein CL-Command.

Lasse ich zB auf PUB400.COM (1 Power7-Core, 16GB RAM, langsames Storage) per STRSQL folgendes in eine Datei ausgeben:

select * from qsys2.user_info

warte ich 77 Sekunden. Bei 8000 Userprofilen. Da sind Deine 8 Sekunden also nicht ungewöhnlich.

Mach mal spasseshalber ein DSPFD QSYS2/USER_INFO; da ist leider viel zu selektieren.

-h