Die vorherige Antwort ist leider etwas unvollständig.

Der Benutzer einer Gruppe "erbt" automatisch alle Rechte der Gruppe. Wenn also die Gruppe Schreib-/Leseberechtigung (auf Grund der Programme) benötigt, hat dies automatisch auch der Benutzer.

Die Lösung ist hier einen sog. App-User (Status DISABLED) zu erstellen, der keiner Gruppe angehört und selbst keine Gruppe ist.
Die App-Bibliotheken (es reicht auch die Daten-Bibliothek) sind auf die Berechtigung PUBLIC(*EXCLUDE) zu stellen.
Das Startprogramm der Applikation muss dann dem App-User gehören und unter USRPRF(*OWNER) ablaufen. Für die Anwendung reicht dies vollkommen aus.

Der Aufruf von WRKQRY aus dem Menü darf allerdings nicht direkt erfolgen sondern muss über ein eigenes Startprogramm mit USRPRF(*USER) und ADOPTAUT(*NO) laufen.

Dies ist deshalb erforderlich, da ja dass App-Startprogramm bereits eine hohe Berechtigung hat und bei ADOPTAUT(*YES), dies ist die Standardeinstellung, die Berechtigung vom aufrufenden Programm übernommen wird und somit wieder Schreibberechtigung vorhanden ist !

Des weiteren benötigen Sie nun noch eine Datenbibliothek mit LF's auf die App-Daten und der Berechtigung *READ damit mittels Query die Daten nun von dort gelesen werden können !

Diese Form mittels App-User verhindert auch unberechtigten Zugriff mittels ODBC z.B. mittels MS/Access, MS/Query usw.