You are currently viewing BADI: HRPAD00INFTY Methode in_update wird bei einzelnen Infotypen nicht aufgerufen

BADI: HRPAD00INFTY Methode in_update wird bei einzelnen Infotypen nicht aufgerufen

Das Badi HRPAD00INFTY wird verwendet, um die Bearbeitung von Infotypen mit ABAP zu manipulieren. Hierzu stehen 3 Methoden zur Verfügung.

  • Before_output –> Bevor das Dynpro zur Anzeige kommt
  • After_input –> Wenn einen Pushbutton oder Enter gedrückt wird
  • In_update –> Wenn Speichern gedrückt wird

Die Funktion sollte schon aus den Namen der Methoden ableitbar sein.

HRPAD00INFTY

Nun hatte ich das Problem, dass die Methode in_update bei einzelnen Infotypen nicht gefeuert wurde, bei anderen aber schon.

Das Badi wurde aufgerufen, dies konnte mit dem Breakpoint in der Methode before_output nachgewiesen werden. Bei verschiedenen Infotypen wurde auch die Methode in_update aufgerufen, der Debugger blieb beim Breakpoint hängen, nur bei meinem Infotyp nicht.

Machen wir es kurz, in diesem Fall war es ein Eintrag in der Tabelle T582G (Infotyp – Gruppierungsgrund) mit gefüllten Gruppierungsgrund (GPRSN).

Um dieses Problem zu begreifen, musste ich mit dem Debugger in die Eingeweide von SAP. Füher oder später kommt man dann zu dem Aufruf von SAPUP50R->UPDATE_WITH_UP50R_ADAPTER

SAPUP50R

Sieht man sich an was in dieser Methode passiert, kann man erkennen das die Tabelle T582G gelesen wird und hier alle Einträge verarbeitet werden welche einen Gruppierungsgrund (GPRSN) haben.

Ich finde das Kommentar recht nett, welches uns der Entwickler von SAP hinterlassen hat.

T582G

Sobald ein Gruppierungsgrund vorhanden ist, will das SAP System das Update ohne dem Zugriff auf das BADI machen.

Nach entfernen des Eintrages der T582G wurde die in_update Routine wieder aufgerufen und ich konnte beruhigt weiterarbeiten. Hoffe es bringt dem einen oder anderen etwas wenn Ihr mal auch in dieser Lage seid.

Mfg,

Nikolaus

Harrich Nikolaus

HCM Senior Berater und Entwickler

Schreibe einen Kommentar