Warenausgang buchen im Testlauf

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
6 Beiträge • Seite 1 von 1
6 Beiträge Seite 1 von 1

Warenausgang buchen im Testlauf

Beitrag von Legxis (Specialist / 160 / 90 / 28 ) »
Hallo,

ich würde gerne testen, ob eine Warenausgangsbuchung korrekt durchlaufen kann. Ich möchte praktisch dasselbe machen, wie der Button in der VL02N, nur, dass es ein Testlauf ist und in einem Programm aufgerufen wird. (Ich habe KEINE Positionsnummer, nur Lieferungsnummer)
Ich habe viele verschiedene FuBas und BAPIs gefunden und weiß nicht wirklich, was jetzt der Unterschied ist und welcher sich am besten eignet:

WS_DELIVERY_UPDATE,
WS_DELIVERY_UPDATE_2,
BAPI_OUTB_DELIVERY_CHANGE,
BAPI_OUTB_DELIVERY_CONFIRM_DEC,
BAPI_DELIVERYPROCESSING_EXEC,
WS_LM_GOODS_MOVEMENT,
SD_SHIPMENT_POST_GOODS_ISSUE.

Ich habe mal BAPI_OUTB_DELIVERY_CONFIRM_DEC ausprobiert, aber da bekomme ich hinterher im return nicht die Positionsnummer raus, die ich aber brauche.
( SAP ECC 6.0, NetWeaver 7.0, ohne unicode, ohne support/enhancement packages )

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Warenausgang buchen im Testlauf

Beitrag von black_adept (Top Expert / 3947 / 105 / 886 ) »
Versuch mal BAPI_GOODSMVT_CREATE
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Warenausgang buchen im Testlauf

Beitrag von Legxis (Specialist / 160 / 90 / 28 ) »
Was muss ich da denn eingeben? Besonders in goodsmvt_code. Im Moment gebe ich ihm nur die Lieferungsnummer, aber das funktioniert nicht, es wird dann ins return geschrieben, dass 'CODE von BAPI2017_GOODSMVT_CREATE nicht unterstützt' wird.
( SAP ECC 6.0, NetWeaver 7.0, ohne unicode, ohne support/enhancement packages )

Re: Warenausgang buchen im Testlauf

Beitrag von Legxis (Specialist / 160 / 90 / 28 ) »
Ich glaube nicht, dass ich den verwenden kann, ich habe nicht mal immer die Materialnummer.

Um meinen Plan umzusetzen benötige ich einen FuBa der
1) im Testlauf laufen kann
2.1) entweder immer nur eine POSNR bearbeitet (und dann den Fehler ausgibt)
2.2) oder einen, bei dem man erkennen kann, welcher Fehler zu welcher POSNR gehört.


'BAPI_OUTB_DELIVERY_CONFIRM_DEC' funktioniert beispielsweise, aber er geht immer die ganze Lieferungsnummer durch und gibt alle Fehler aus, ohne dass ich weiß, zu welcher POSNR diese gehören.

Ich brauche die POSNR, da ich die WA-Fehlerdaten sonst nicht in eine DB schreiben kann, weil sie nicht unique sind. Und einen Zähler kann ich auch nicht drauf tun, da ich dann beim nächsten Jobdurchlauf nicht feststellen kann, welche der Fehler behoben sind. Der Job gibt immer alle aktuellen Fehler aus, die Zähler für denselben Fehler könnten sich ändern. Und jedesmal alles von der DB löschen kann ich auch nicht, da Anwender hier auch Kommentare reinschreiben.
Zusammen mit der Lieferungsnummer, der POSNR, der Art des Fehlers und den Fehlervariablen wären die Einträge unique.

Mein Plan sieht folgendermaßen aus:
Ich habe eine itab, die die Lieferungsnummern enthält, die fehlerhaft sind. Ich fülle dann eine andere itab mit allen NRs und POSNR FOR ALL ENTRIES. Darüber LOOPe ich dann und lasse den FuBa laufen. Dann habe ich eine Verbindung zwischen Fehler und POSNR.
Scheint mir logisch zu klingen. Ich bräuchte nurnoch einen FuBa, der die Anforderungen erfüllt. Kennt niemand einen?
( SAP ECC 6.0, NetWeaver 7.0, ohne unicode, ohne support/enhancement packages )

Re: Warenausgang buchen im Testlauf

Beitrag von wreichelt (Top Expert / 1031 / 29 / 188 ) »
Hallo,

ist da der SD_SHIPMENT_POST_GOODS_ISSUE nicht geeignet ?

Dieser Funktionsbaustein erzeugt für die im Transport I_TKNUM enthalten Lieferungen die WA-Buchungen.
Hierzu müssen die Transportpositionen (sprich die Lieferungen) in der Tabelle I_XVTTP mitgegeben werden.
Die WA-Buchung erfolgt quasi so, als wurde man in der VL02 für jede einzelne Lieferung den Warenausgang buchen.
Technisch gesehen erfolgt die WA-Buchung, indem in diesem FB ein CALL TRANSACTION auf die Transaktion VTWABU gemacht wird. Dies ist eine nur für diesen Zweck geschriebene Transaktion, die den Report RV56WABU aufruft, welcher wiederum den Funktionsbaustein WS_DELIVERY_UPDATE nutzt. Durch diese Konstruktion läuft das Buchen des Warenausgangs in einem eigenen Rollbereich ab. Dadurch wird die aktuell laufende Applikation (also die Transportbearbeitung) nicht gestört (Nachrichten, Texte, etc. werden sonst unter Umständen gelöscht). Um den Erfolg der WA-Buchung zu überprüfen, wird diese synchron ausgeführt.
Dieser FB löst folgende Ausnahmen aus:
SHIPMENT_HAS_NO_DELIVERIES: Transport besitzt gar keine Lieferungen
ALL_DELIVERIES_ALREADY_POSTED: Alle Lieferungen sind bereits WA gebucht
SOME_DELIVERIES_ALREADY_POSTED: Einige Lieferungen sind bereits WA gebucht. Es werden die noch nicht verbuchten WA gebucht.
GOODS_ISSUE_NOT_SUCCESSFUL: Die WA-Buchung konnte für eine oder meherere Lieferungen nicht erfolgreich durchgeführt werden.

Gruß Wolfgang

Re: Warenausgang buchen im Testlauf

Beitrag von Legxis (Specialist / 160 / 90 / 28 ) »
Da bekomme ich nichts zurück außer den Ausnahmen, die geben mir ja nicht die POSNR
( SAP ECC 6.0, NetWeaver 7.0, ohne unicode, ohne support/enhancement packages )

Seite 1 von 1

Vergleichbare Themen

3
Antw.
8202
Views
VL02N Exit für Warenausgang buchen
von Strahbi21 » 13.10.2016 16:31 • Verfasst in Sales and Distribution
7
Antw.
8721
Views
Kreditorenrechnung buchen, aber VSt. im Folgemonat buchen ?
von Blueshape » 14.12.2004 09:52 • Verfasst in Financials
7
Antw.
1648
Views
Testlauf erforderlich vor dem Echtlauf
von Mockingbird » 08.01.2020 15:30 • Verfasst in ABAP® Core
8
Antw.
3422
Views
Testlauf bei der Ausführung mehrerer BAPIs hintereinander
von FelixFICO » 20.04.2016 16:35 • Verfasst in ABAP® Core
0
Antw.
1110
Views
Warenausgang Storno
von sap_all » 14.10.2005 14:27 • Verfasst in ABAP® Core

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.