cancel
Showing results for 
Search instead for 
Did you mean: 

BAPI_GOODSMVT_CREATE und Commit Work

08-04-2023 2:57 PM
2385 views 5 comments
0 Likes
SAP Managed Tags
Subscribe

Hallo zusammen,

Im SAP Hinweis 457499 (kein Materialbeleg bei BAPI BAPI_GOODSMVT_CREATE erzeugt), der für keine Softwarekomponente beschränkt ist, wird angegeben, dass der BAPI „BAPI BAPI_GOODSMVT_CREATE „ (Buchen von Warenbewegungen) selbst keinen COMMIT WORK / ROLLBACK WORK durchführt. Ich zitiere aus dem Hinweis: „Vielmehr ist der Anwender des BAPI's verantwortlich den COMMIT WORK / ROLLBACK WORK in der eigenen Anwendung zu programmieren. Sie können hierzu den Funktionsbaustein BAPI_TRANSACTION_COMMIT benutzen“.

Wenn ich aber diesen BAPI in einer Z-Anwendung aufrufe, führt dieser Standardmäßig (Import-Parameter „testrun“ = space) doch einen Commit Work.

Wie kann ich den BAPI_GOODSMVT_CREATE so aufrufen, dass die Z-Anwendung selbst das Commit Work mit BAPI_TRANSACTION_COMMIT steuert. Das Ziel ist das SAP Transaktionsmodell (alles oder nichts) innerhalb der Z-Anwendung zu nutzen.

Vielen Dank für eure Unterstützung

Mit freundlichen Grüßen

Nikos

0 Likes

Accepted Solutions (0)

Answers (2)

Answers (2)

UweFetzer_se38
Active Contributor
0 Likes

Hi Nikos,

laut Doku und diesem Blog Post wird der COMMIT nicht im BAPI angestoßen sondern implizit durch Beendigung des Programms (Aufrufer). D.h, man sollte nach dem Aufruf auch ein ROLLBACK machen können.

Grüße, Uwe

Dominik_Tylczynski
SAP Champion
SAP Champion
0 Likes

Hello roma

You have to call BAPI_TRANSACTION_COMMIT after BAPI_GOODSMVT_CREATE to actually save the material document. TESTRUN doesn't make commit.

Best regards

Dominik Tylczynski

former_member868351
Discoverer
0 Likes

Hello Dominik Tylczynski

Thank you for your Answer.

If i call BAPI_GOODSMVT_CREATE (see Image), then i get the goodsmvt-doc immediately, without perform of BAPI_TRANSACTION_COMMIT.

We use Release 6.18 for Komponent "SAP_APPL"

Best regards

Nikos Kontakis

Dominik_Tylczynski
SAP Champion
SAP Champion
0 Likes

roma That's right BAPI_GOODSMVT_CREATE returns material document number and year. However if you don't call BAPI_TRANSACTION_COMMIT afterwards, the material document will not be persisted in the database.

former_member868351
Discoverer
0 Likes

unfortunately after calling of BAPI_GOODSMVT_CREATE the material document is persisted in the database. I have ckecked this in tabel MKPF, bevor calling of BAPI_TRANSACTION_COMMIT.