Hallo Leute,
da ich bei Erweiterungen von Standard-Programmen noch überhaupt keine Erfahrung habe bräuchte ich hier dringend die Hilfe von euch Experten.
Hab mir schon ein paar User-Exits und einige Tabellen herausgesucht, die für meine Anforderung passen könnten, doch habe ich echt keine Ahnung ob ich auch nur annähernd auf der richtigen Spur bin.
Die Anforderung ist eg. relativ einfach (denke ich zumindest

) . Der Standard Cross-Selling Prozess wird für einen unserer Geschäftsbereiche bereits benutzt und sollte auch nicht geändert werden.
Nun benötigt ein anderer Bereich diesen Prozess, jedoch mit leichten Anpassungen gegenüber dem Standard.
Cross-Selling allgemein:
- Ermittlung über ein CS-Kalkulationsschema (CS0001)
- in diesem Schema gibt es 2 Konditionsarten: CS01 - Standard und CS02: habe ich für die neue Anforderung angelegt
- es gibt eine Zugriffsfolge: Material, über die VB41 legt man dann für die entsprechende Konditionsart (CS02) die Materialien an, welche beim CS greifen sollen
- wird in der VA01 eines dieser Materialien eingegeben erscheint dass CS-Pop-Up
Verhalten Standard bei Übernahme der Positionen:
- eingegebenes CS-Material = Hauptmaterial (zB: Pos. 10)
- alle im Pop-Up eingegeben und in den Auftrag übernommenen Materialien werden zu Unterpositionen vom CS-Material --> Feld UEPOS wird für alle mit der Pos.nr des Hauptmaterials befüllt
Ich benötige folgende Abweichung:
- werden CS-Materialien der Konditionsart CS02 gefunden --> alle im Pop-Up eingegebenen Materialien sollen zu HAUPTPOSITIONEN werden und die Auftragsposition des CS-Materials soll gelöscht werden.
Hintergrund:
Das Material was beim Auftrag eingegeben wird ist ein "Dummy-Material" (zB: 01-0400-X ). Dieses soll nur dazu dienen um im Pop-Up die 'wirklichen' Materialien aufzurufen: zB 01-0400-S , 01-0400-M (ein Produkt mit vielen verschiedenen Größenausprägungen). Nach der Bestätigung des Pop-Ups sollen die vom Kunden gewünschten Materialien übernommen werden und das "Dummy-Material" gelöscht werden.
So ich habe nun probiert im Include MV45AFZB im Userexit: USEREXIT_CHECK_VBAP einzugreifen.
Ich war irgendwie der naiven Meinung, dass ich hier mit ein paar simplen Zeilen Coding den gewünschten Effekt erzielen kann indem ich sowas schreibe wie:
Wenn KOTD011-kschl = CS02, dann clear vbap-uepos usw...
Doch beim debuggen bin ich auf das Programm SAPFV45P gestoßen, wo im Include FV45PF0C einige weitere Includes ( 8 Stk.) nur fürs CS enthalten sind (CROSS_SELL_ANLEGEN/POPUP/LOESCHEN....).
Darum habe ich jetzt den Verdacht, dass mein Vorhaben doch nicht so leicht in die Tat umzusetzen ist....
Kann mir bitte wer sagen ob ich hier mit dem CHECK_VBAP Exit komplett am Holzweg bin, bzw. mir irgendwelche nützliche Ansatzpunkte liefern, wie ich am besten vorgehen soll?
Vielen Dank schon mal!
Lg Gabriel