Das Enhancement CATP0001 des Cross-Application Timesheets (CATS) bietet die Möglichkeit, die Vorgabestunden für den Zeitnachweis zu bearbeiten. Wenn das Enhancement im Einsatz ist, werden allerdings auch keine Default-Vorgabestunden mehr bereitgestellt, selbst wenn im Enhancement nur eine Zeile mit Vorgabestunden übergeben wird. Es werden gar keine Defaultwerte mehr gelesen. Bequemer wäre es, die Vorgabestunden auf Basis der Defaultwerte zu ändern. Wie geht das?
Wir setzen voraus, dass das Enhancement CATP0001 implementiert ist.
Das Kundencoding wird im Include ZXCATPU01 angelegt. Hier können Sie die Vorgabestunden mithilfe des Funktionsbausteins „CATS_GET_TARGET_HOURS“ ermitteln. Dieser Funktionsbaustein liest allerdings selbst das Enhancement CATP0001. Die Katze beißt sich also in den Schwanz. Wir müssen die Rekursion stoppen, so dass der Funktionsbaustein ohne das Enhancement ausgeführt wird. Das kann durch ein Kennzeichen im Memory erreicht werden. Wenn das Kennzeichen den Wert „wahr“ enthält, soll das Enhancement nicht ausgeführt werden.
Falls Sie weitere Bedingungen an den Aufruf des Enhancements knüpfen, sollten diese anschließend geprüft werden.
Schließlich nutzen wir den Funktionsbaustein „CATS_GET_TARGET_HOURS“, um die ursprünglichen Vorgabestunden zu ermitteln, aber erst nachdem wir das Rekursionskennzeichen auf „wahr“ gesetzt haben.
Das Ergebnis ist, dass die Tabelle „SAP_TARGET_HOURS“ die Originalwerte enthält und Sie diese nun an Ihre Anforderungen anpassen können.





