Kundenauftrag - Änderung Route/Werk

SAP R/3 Vertrieb: Auftragsverwaltung, Versand und Transport, Fakturierung, Kreditmanagement, Außenhandel/Zoll...
8 Beiträge • Seite 1 von 1
8 Beiträge Seite 1 von 1

Kundenauftrag - Änderung Route/Werk

Beitrag von crazie (ForumUser / 7 / 0 / 1 ) »
Hallo allerseits,

bin seit längerer Zeit stiller Begleiter der Seite und großer Fan der SAP Press Bücher von einigen eurer Forums-Mitglieder :).

Zu meinem Problem welches mir derzeit ein bisschen den Schlaf raubt.

Die Aufgabe ist die Route und Liefergruppe anhand von gewissen Kriterien, wie zum Beispiel überschreiten eine bestimmten Menge, sowie anderen Materialstamm-Kriterien zu ändern. In weiterer Folge wäre es auch wünschenswert, dass das Werk geändert wird. Ist aber im Moment eher Fleißaufgabe.

Da diese Berechnung (Mengenüberschreitung) nicht nur bei der Ersteingabe erfolgt sondern auch bei Mengenänderungen (oder Materialänderung der Position) suche ich den richtigen Punkt um die Änderung der Route und Liefergruppe vorzunehmen und bin schlussendlich bei move_field_to_vbak gelandet. Da dieses Coding mehrmals durchlaufen wird (auch bei Mengenänderungen), da ich nicht nur für die aktuelle Position die Route und Liefergruppe ändern muss sondern für alle anderen Positionen ebenfalls. Dies erweist sich aber bei einigen Materialien (warum genau diese, weiß ich noch nicht) als schlechter Zeitpunkt da ich in der *vbap noch alte Werte der Route habe und es so zu einer Endlosschleife der Verfügbarkeitsprüfung kommt (Route route wird geändert und es wird wieder geprüft - nur mehr über sm50 zum debuggen).

Das Sahnehäubchen obendrauf wäre noch eine Änderung der VBEP-LIFSK der jeweiligen Zeile.

Hättet ihr eine Idee wo ich da am besten Eingreifen soll um diese Änderungen vorzunehmen. Für die Ermittlungslogik brauche ich die komplette VBAK, VBAP/XVBAP Tab sowie aktuell eingegeben KWMeng.

Viele Dank und liebe Grüße!

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


Re: Kundenauftrag - Änderung Route/Werk

Beitrag von jocoder (Specialist / 343 / 3 / 102 ) »
Wird im User-Exit move_field_to_vbak die Verfügbarkeitsprüfung über Coding angestoßen? Die Endlosschleife konnte ich in meinen Tests nicht nachvollziehen.

Da wir uns in den Kopfdaten befinden, würde ich *vbap als undefiniert annehmen und nicht darauf spekulieren, dass *vbap einen bestimmten Wert enthält (Bei meinen Tests enthielt *vbap immer die letzte Position). Dies kann sich aber durch ein Update schnell ändern.

Re: Kundenauftrag - Änderung Route/Werk

Beitrag von wreichelt (Top Expert / 1046 / 30 / 192 ) »
Hallo,

prüfe mal ob das BADI 'BADI_SD_ROUTE' dafür nicht geeignet ist.

Gruß Wolfgang

Re: Kundenauftrag - Änderung Route/Werk

Beitrag von ewx (Top Expert / 4842 / 310 / 638 ) »
Ich meine, es gibt einen SAP-Hinweis, in dem sehr ausführlich beschrieben ist, wie die Daten in der SAPMV45A zu manipulieren sind. Kann aber auch sein, dass ich das mit BAPIs zum Kundenauftrag verwechsle.
Ich habe mal vor langer Zeit aufgeschrieben, worauf man achten sollte:
https://tricktresor.de/blog/tipps-zur-v ... userexits/

von den *-Arbeitsbereichen solltest die Finger lassen.

Mitunter ist es auch notwendig, die SAP-eigenen Routinen noch mal aufzurufen (VBAP_* oder VBAP-*).

Evtl. hilft es auch, die VA02 aus der SAT heraus ausführen, eine Änderung manuell vornehmen und später im Protokoll mal durchgehen, welche FORM-Routinen so ausgeführt werden.

Auf jeden Fall ist sowas echt Frickelarbeit... auf jeden Fall gut testen und auch prüfen, ob die Änderungen auch entsprechend ausgeführt werden, wenn die Änderung per BAPI gemacht wird...

Re: Kundenauftrag - Änderung Route/Werk

Beitrag von crazie (ForumUser / 7 / 0 / 1 ) »
Wow, vielen Dank für eure Antworten (und das gleich von der Prominenz :) ).
jocoder hat geschrieben:
18.05.2020 12:28
Wird im User-Exit move_field_to_vbak die Verfügbarkeitsprüfung über Coding angestoßen? Die Endlosschleife konnte ich in meinen Tests nicht nachvollziehen.

Da wir uns in den Kopfdaten befinden, würde ich *vbap als undefiniert annehmen und nicht darauf spekulieren, dass *vbap einen bestimmten Wert enthält (Bei meinen Tests enthielt *vbap immer die letzte Position). Dies kann sich aber durch ein Update schnell ändern.
Es befinden sich leider sehr viele Entwicklungen in diesem Exit, aber zu einer Verfügbarkeitsprüfung konnte ich nichts finden. Das Problem mit der Schleife tritt auch nur bei einem spezifischen Material und auch nur dann wenn ich "Bearbeiten->Belegverfü. prüfen" und dann auf "Alles übernehmen" drücke. Was ich im Debugger sehen konnte wird dann immer die Route (so glaube ich) überprüft und das Werk / Verstandstelle angepasst. Dann wird durch den Exit wieder die Route zurückgeändert und so geht es weiter. Das sieht dann so aus ->
Die Zahl vorne ist der Stack :D
75.587 FORM WERK_AENDERN SAPFV45V FV45VF0W_WERK_AENDERN
75.586 FORM VERFUEGBARKEIT_PRUEFEN SAPFV45V FV45VF0V_VERFUEGBARKEIT_PRUEFE
75.585 FORM BESTAND_BEDARF_ABGLEICHEN SAPFV45V FV45VF0B_BESTAND_BEDARF_ABGLEI
75.584 FORM VBAP_BEARBEITEN_ENDE_VERFUEGB SAPFV45P FV45PFAP_VBAP_BEARBEITEN_ENDE1
75.583 FORM VBAP_BEARBEITEN_ENDE SAPFV45P FV45PFAP_VBAP_BEARBEITEN_ENDE
75.582 FORM WERK_AENDERN SAPFV45V FV45VF0W_WERK_AENDERN
75.581 FORM VERFUEGBARKEIT_PRUEFEN SAPFV45V FV45VF0V_VERFUEGBARKEIT_PRUEFE
75.580 FORM BESTAND_BEDARF_ABGLEICHEN SAPFV45V FV45VF0B_BESTAND_BEDARF_ABGLEI
75.579 FORM VBAP_BEARBEITEN_ENDE_VERFUEGB SAPFV45P FV45PFAP_VBAP_BEARBEITEN_ENDE1
75.578 FORM VBAP_BEARBEITEN_ENDE SAPFV45P FV45PFAP_VBAP_BEARBEITEN_ENDE
75.577 FORM WERK_AENDERN SAPFV45V FV45VF0W_WERK_AENDERN
75.576 FORM VERFUEGBARKEIT_PRUEFEN SAPFV45V FV45VF0V_VERFUEGBARKEIT_PRUEFE
75.575 FORM BESTAND_BEDARF_ABGLEICHEN SAPFV45V FV45VF0B_BESTAND_BEDARF_ABGLEI
75.574 FORM VBAP_BEARBEITEN_ENDE_VERFUEGB SAPFV45P FV45PFAP_VBAP_BEARBEITEN_ENDE1
75.573 FORM VBAP_BEARBEITEN_ENDE SAPFV45P FV45PFAP_VBAP_BEARBEITEN_ENDE
75.572 FORM WERK_AENDERN SAPFV45V FV45VF0W_WERK_AENDERN
75.571 FORM VERFUEGBARKEIT_PRUEFEN SAPFV45V FV45VF0V_VERFUEGBARKEIT_PRUEFE
75.570 FORM BESTAND_BEDARF_ABGLEICHEN SAPFV45V FV45VF0B_BESTAND_BEDARF_ABGLEI

wreichelt hat geschrieben:
18.05.2020 13:28
Hallo,

prüfe mal ob das BADI 'BADI_SD_ROUTE' dafür nicht geeignet ist.

Gruß Wolfgang
Der Badi wäre natürlich perfekt für die Route. Aber leider gibt er mir nicht die Möglichkeit die Liefergruppen sowie die Liefersperre der jeweiligen Einteilung zu ändern.

Das alles hatte ich bisher nur im move_field_to_vbak gefunden.

Im Prinzip brauche ich bei Positionsänderungen die VBAK und (X)VBAP daher lacht mich auch ein bisschen BADI_SD_SALES_ITEM an :).
ewx hat geschrieben:
18.05.2020 18:55
Ich meine, es gibt einen SAP-Hinweis, in dem sehr ausführlich beschrieben ist, wie die Daten in der SAPMV45A zu manipulieren sind. Kann aber auch sein, dass ich das mit BAPIs zum Kundenauftrag verwechsle.
Ich habe mal vor langer Zeit aufgeschrieben, worauf man achten sollte:
https://tricktresor.de/blog/tipps-zur-v ... userexits/

von den *-Arbeitsbereichen solltest die Finger lassen.

Mitunter ist es auch notwendig, die SAP-eigenen Routinen noch mal aufzurufen (VBAP_* oder VBAP-*).

Evtl. hilft es auch, die VA02 aus der SAT heraus ausführen, eine Änderung manuell vornehmen und später im Protokoll mal durchgehen, welche FORM-Routinen so ausgeführt werden.

Auf jeden Fall ist sowas echt Frickelarbeit... auf jeden Fall gut testen und auch prüfen, ob die Änderungen auch entsprechend ausgeführt werden, wenn die Änderung per BAPI gemacht wird...
Danke für den Tipp. Der *-Arbeitsbereich bereitet mir genau deswegen auch sorgen. Das muss alles passen und auch wenn nur ein Material nicht funktioniert, darf das so nicht umgesetzt werden.
Das mit der SAT ist eine tolle Idee auf die ich noch nicht gekommen bin. Wie würdest du das dann bei der besagten Endlosschleife angehen? Da müsste ich ja die TA abbrechen, dann wäre aber auch die SAT weg.

Vielen Dank für die Anregungen!

Re: Kundenauftrag - Änderung Route/Werk

Beitrag von ewx (Top Expert / 4842 / 310 / 638 ) »
crazie hat geschrieben:
19.05.2020 14:33
Das mit der SAT ist eine tolle Idee auf die ich noch nicht gekommen bin. Wie würdest du das dann bei der besagten Endlosschleife angehen? Da müsste ich ja die TA abbrechen, dann wäre aber auch die SAT weg.
Bei der Analyse der Endlosschleife hilft dir der Trace evtl. nicht. Aber du hast ja bereits herausgefunden, welche Routinen sich ständig wiederholen. da musst du dann herausfinden, warum... ;)

Re: Kundenauftrag - Änderung Route/Werk

Beitrag von wreichelt (Top Expert / 1046 / 30 / 192 ) »
Hallo,

für eine Änderung der Liefersperre könnte der User-Exit helfen

https://www.dv-treff-community.de/sap-h ... ung-t19466

Gruß Wolfgang

Re: Kundenauftrag - Änderung Route/Werk

Beitrag von crazie (ForumUser / 7 / 0 / 1 ) »
Hallo Leute,

vielleicht hilft es ja dem ein oder anderen.
Ich hab natürlich alles komplett debuggen müssen. Herausgestellt hat sich, dass aufgrund eine bestimmten Konstellation das Werk in der MV45AFZZ (oh wunder :D ) umgeändert wird und zwar genau an der Stelle des Includes FV45PFAP_VBAP_BEARBEITEN_ENDE. Das hatte wiederum eine Werksermittlung/einen Bedarfsabgleich zur Folge. So hat sich das weiter gedreht. Die Abfrage in der MV45AFZZ war nur auf die Struktur VBAP gerichtet und nicht auf die XVBAP wo ich meine eigentlichen Änderungen (Route) vorgenommen habe. Das habe ich nun ergänzt und es funktioniert. Jetzt sind wir dabei die komplette Werksfindung zu überarbeiten :).

Vielen Dank für eure Ratschläge!

Liebe Grüße!

Folgende Benutzer bedankten sich beim Autor crazie für den Beitrag:
ewx


Seite 1 von 1

Vergleichbare Themen

0
Antw.
4867
Views
Neuermittlung der Route im SAP Auftrag VA02
von Dimonic » 28.06.2011 08:56 • Verfasst in Sales and Distribution
1
Antw.
2085
Views
Umbuchung Kosten von Kundenauftrag A an Kundenauftrag B
von Matthias_L. » 22.04.2005 11:44 • Verfasst in Financials
4
Antw.
2321
Views
Lieferscheindruck pro Werk
von Gast » 20.02.2006 14:23 • Verfasst in Sales and Distribution
3
Antw.
3689
Views
Berechtigungsobjekt für Werk
von SAP_ENTWICKLER » 01.03.2018 15:55 • Verfasst in ABAP® Core
2
Antw.
2347
Views
Einschränkung Einkäufergruppe Werk
von Statasi » 21.04.2006 16:11 • Verfasst in Sales and Distribution

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.