ich möchte einen BAPI an einer Stelle modifizieren, nur ein Flag setzten in einer Struktur. Jetzt habe ich mich eingelesen und es geht wohl über Anlegen eines Subtypes zu einem Business Objekt.
Ich möchte natürlich dass der BAPI trotzdem alle Änderungen eines neuen Releases/updates mitbekommt, das konnte ich aber so nicht herauslesen. Wird die Kopie eines BAPI mit Modifikation und eigenem Subtyp trotzdem automatisch aktualisiert?
Naja, dazu musst du uns sagen, welchen BAPI du meinst. Nicht jeder BAPI arbeitet mit einem Bussiness-Objekt.
--
Aber. Auch wenn du das BO ableitest, bleibt die Änderung im BAPI eine Modifaktion. Bei einem Releasewechsel oder Update macht man dann einen SPAU-Abgleich. Da kommt dann die Modifikation hoch und du musst manuell entscheiden, wie dein Quellcode in der Änderung übernommen werden soll.
--
Es gibt ja auch Erweiterungsmöglichkeiten an DB-Tabellen mittels Customer Include (CI). Diese CI, kann man dann in bestimmten BAPI über die ExtensionIN bzw. ExtensionOUT Strukturen bedienen.
Du siehst, es gibt viele Möglichkeiten für Erweiterung, darum wäre es geschickt, wenn du uns dein Konkretes Beispiel nennst.
ich habe ein Kalkulationscockpit entwickelt welches Materialkalkulationen über eine Customizingtabelle abarbeitet (Wenn Material A in Werk 1 kalkuliert wurde, dann soll es auch in Werk 2, 3, 4 etc. kalkuliert werden, der Kunde will die Reihenfolge der Kalkulation anders haben als es der Standard tut). Dazu ruft mein Cockpit dann CK11N + CK24(Mark) + CK24(Release) im Hintergrund auf (Starting new Task). Für die CK24 verwende ich den FB BAPI_COSTESTIMATE_MARKING. Der zeigt aber bei jedem erfolgreichen markieren in Werks x ein Protokoll an (Durch Aufruf CK_F_CK23_END_OF_SELECTION ) und wartet auf Bestätigung, das soll aber nur bei der manuellen Markierung erfolgen, die Kalkulationen in den anderen Werken sollen im Hintergrund ohne Meldung erfolgen. Deshalb soll der BAPI das Protoll nicht anzeigen, wenn er aus dem Cockpit gerufen wurde. Das funktioniert auch alles, ich suche eben nur nach der saubersten Lösung für den modifizierten BAPI, der auch nur in diesem Cockpit verwendet wird.
Die BAPI Modifiktion setzt nur ein kundeneigens Flag in der Struktur F_CKIPRICEUPDATE, der aufgerufene FB CK_F_CK23_END_OF_SELECTION ist ebenfalls modifiziert und gibt kein Log aus wenn das Flag gesetzt ist, sind insgesamt 3 Zeilen Modifikationen.
Die beiden Bausteine zu kopieren ist unschön, also hätte ich beide nur modifiziert, beim BAPI gibt es aber da wohl eine andere Vorgehensweise.
Fachlich bin ich da leider raus... Viel Hoffnung mache ich dir da aus technischer Sicht nicht.
Aber wenn du schon F_CKIPRICESUPDATE TYPE CKIPRICESUPDATE modifizieren musstest, werden sich die weiteren Mod's nicht umgehen lassen (die Geister die rief). CKIPRICESUPDATE hat ja keine offizielle Möglichkeit der Erweiterung. Im BAPI_COSTESTIMATE_MARKING gib es am Anfang und Ende diverse Enhancements. In CK_F_CK23_END_OF_SELECTION dann schon nicht mehr.
Zuletzt geändert von msfox am 26.08.2024 09:54, insgesamt 1-mal geändert.
Folgende Benutzer bedankten sich beim Autor msfox für den Beitrag: Romaniac
Ja die impliziten Erweiterungspunkte bringen mir hier nichts, ich muss da an bestimmte Stellen ran. Also würdest Du den BAPI ganz normal modifizieren, ohne Anlegen eines Subtypes?
Das ist klar, dem Subtyp wird ja dann ein modifizierter BAPI zurgeordnet. Aber im Endeffekt bleibe ich bei der Modifikation des originären BAPI da ich ihn nur für diesen einen Fall brauche. Mir war nur nicht klar ob das mit dem Subtyp irgendeinen tieferen Sinn beim Upgrade hat. Am Ende wird aber so oder so über die SPAU abgeglichen. Danke Dir für den Austausch.