Tobias Hebenbrock
 - 28. Juni 2019

Konditionskontrakt: Verlängerungssperre anlegen [Howto]

angebotsbild-finanzen

Über die Transaktion wb2r_extension können Sie Konditionskontrakte in eine neue Periode übernehmen. Das Verlängern von existierenden Kontrakten ist eine nützliche Funktion. Doch wie verhindern Sie, dass bestimmte Kontrakte verlängert werden? Hier erfahren Sie, wie Sie eine Verlängerungssperre anlegen.

Verlängerungssperre für einen Kontrakt umsetzen

Ausgangssituation

Sehen wir uns die Anforderung einmal genauer an. Die Idee ist es, dass Fehler bei der Verlängerung vermieden werden sollen. Beispielsweise kann es vorkommen, dass eine Vereinbarung nicht mehr gültig ist.

Ein Verlängern eines solchen Kontrakts wäre nicht sinnvoll. Daher soll das System diesen Vorgang unterbinden und den Benutzer über den Grund informieren.

Wir gehen in die Transaktion WCOCO und wählen einen Konditionskontrakt aus. Als Zusatzfeld haben wir in unserem Beispiel das Feld „Verhandlungsstatus“ angelegt. Es ist in diesem Falle auf 2 gesetzt, was „Keine Verlängerung“ bedeutet:

Verhandlungsstatus

Das Ziel ist also, dass Kontrakte nicht verlängert werden können, wenn sie den Verhandlungsstatus „Keine Verlängerung“ besitzen. Doch wie können Sie nun diesen Status vor der Verlängerung automatisch abprüfen und gegebenenfalls die Verlängerungssperre umsetzen?

Lösungsansatz

Hierzu nutzen wir den BAdI „WB2_CC_EXTENSION“ aus dem Erweiterungsspot „WB2_REBATES“. Sie können sich diesen im BAdI-Builder (Transaktion SE18) genauer ansehen. Dort finden Sie eine Methode namens „CHANGE_BEFORE_CREATE“:

WB2_CC_EXTENSION

Sie möchten ein Anlegen des neuen Kontrakts verhindern. Daher legen Sie eine Implementierung dieses BAdIs an.

E-Book: SAP CCS-Technik

Erfahren Sie in unserem E-Book mehr über die zentralen Elemente und Prozesse im Umfeld von SAP CCS.

Implementierung der Verlängerungssperre

In der implementierenden Klasse prüfen Sie, welchen Verhandlungsstatus der Kontrakt besitzt. Wir wollen ein Verlängern verhindern, wenn er den Status „2“ (= Keine Verlängerung) besitzt. Dies setzen wir um, indem wir den Verhandlungsstatus prüfen und gegebenenfalls eine Fehlermeldung ausgeben.

Implementierung

An dieser Stelle können Sie auch andere Fälle abfragen. So wäre zum Beispiel eine Vergabe eines Standard-Verhandlungsstatus denkbar. Diesen würde dann jeder verlängerte Konditionskontrakt erhalten.

Ergebnis

Für unseren Anwendungsfall reichen jedoch schon die eben gezeigten Zeilen. Versuchen wir nun erneut, einen Kontrakt mit dem Verhandlungsstatus „Keine Verlängerung“ zu verlängern. Das System gibt jetzt die hinterlegte Fehlermeldung zurück. Das Ergebnis der Verlängerungssperre sieht in unserem Beispiel so aus:



Das könnte Sie auch interessieren


Schreiben Sie einen Kommentar

Bitte füllen Sie alle mit * gekennzeichneten Felder aus. Ihre E-Mail Adresse wird nicht veröffentlicht.





Angebot anfordern
Preisliste herunterladen
Expert Session
Support