Ich hatte mir die EWZ5 angeschaut. Hier sperrt man aber die User und das hätte den weiteren Haken, dass diejenigen User wieder mit entsperrt werden, die vorher aus anderen Gründen gesperrt waren...
Nein. Die EWZ5 war zwar einst als Euro-Umstellungstool gedacht, dient seitdem aber generell als Tool, wenn man vorübergehend (fast) alle User aussperren möchte. Der klassische Anwendungsfall ist das Einspielen eines neuen Support-Package-Standes oder gar Releasewechsels. Nach dem Entsperren werden meines Wissens die User wieder so gesetzt, wie sie vorher gewesen sind. Das wäre ja schlimm, wenn nach jedem Support Package irgendwelche alten, gesperrten User plötzlich wieder frei wären.
Ziel ist es Massenänderungen an den Infotypen aller Personalnummern durchzuführen. Wenn dann aber gerade ein Sachbearbeiter beispielsweise in der PA30 eine einzelne Personalnummer belegt, bricht mein Programm ab.
Hat jemand Ideen?
Wird in eurer Firma denn 24/7 gearbeitet? Ansonsten wäre aus meiner Sicht der naheliegende Ansatz, das nachts zu machen. Ggf. setzt Du vorher ergänzend noch eine Systemnachricht, die jedem beim Login angezeigt wird.
Und wenn es Dein Programm ist, das da abbricht, dann liegt es in Deiner Hand als Programmierer, dafür zu sorgen, dass genau dies nicht geschieht. Der FB HR_EMPLOYEE_ENQUEUE liefert Dir doch sogar die Userkennung des sperrenden Benutzers. Lass Dein Programm doch einfach ein Protokoll der Personalnummern ausgeben, die es wegen Sperre nicht bearbeiten konnte und übersprungen hat. Die holst Du dann später mit einem zweiten Programmlauf, bei dem Du diese in Deinen SELECT-OPTIONS auf die Personalnummer reinpastest, nach. So kannste Du das Ganze sogar mitten am Tag ablaufen lassen.