[54300] in SAPr3-news
CALL TRANSACTION und COMMIT WORK
daemon@ATHENA.MIT.EDU (Wolfgang P.)
Thu Apr 28 09:02:47 2005
To: sapr3-news@mit.edu
Date: Thu, 28 Apr 2005 15:02:24 +0200
From: "Wolfgang P." <wolfgang.pezda@liwest.at>
Message-ID: <1114690381.161555@news.liwest.at>
Hallo SAP-Gemeinde.
Ich habe da ein dummes technisches Problem, welches ich nicht in den Griff
bekomme.
Beschreibung:
der Kunde möchte mit der Transaktion VA05 Preismassenänderungen durchführen.
Allerdings bietet diese Transaktion die Auswahl "Open Sales Orders" oder
"All Orders"
Es darf in gar keinen Fall die Auswahl "All Orders" getroffen werden. Der
Kunde möchte dies abgesichert wissen.
Jetzt suchten wir Möglichkeiten, dies zu erreichen.
Eine Variante anlegen haben wir probiert, geht nicht.
User-Exit gibt es in dem Programm nicht.
Also habe ich einen kleinen Report geschrieben, welches über einen
Selection-Screen die Auswahlkriterien in Empfang nimmt und diese über CALL
TRANSACTION an die VA05 weitergibt. Somit kommt der User mit dem
Selection-Screen der VA05 nie in Berührung.
Es funktioniert ansich alles tadellos. Der User gibt in dem Z-Programm seine
Parameter ein, über die Batch-Input-Logik wird der Screen der VA05 versorgt
und das Programm läuft und liefert die Liste der Auftrage.
ABER (und jetzt kommts)
bei einer Massenpreisänderung wählt der User aus der Liste einige Aufträge
auf und startet die Massenänderung. Leider wird nur immer der erste Auftrag
geändert, die restlichen Aufträge bleiben unverändert. Ruft man die VA05
selbst auf und macht man das gleiche, funktioniert es.
Ein kurzer Blick in das Coding zeigte mir die Ursache. Die
Massenpreisänderung funktioniert so, dass immer nach jedem Auftrag ein
COMMIT WORK durchlaufen wird. Und ein COMMIT WORK beendet den Call
Transaction Aufruf. Somit wird der erste Auftrag geändert, das Programm
kehrt zurück in mein kleines Z-Programm und die restlichen ausgewählten
Aufträge bleiben unverändert.
Ich hoffe ich habe das Problem ausführlich genug geschildert, damit man sich
ein Bild machen kann.
Ich sehe keine andere Lösung mehr als eine Modifikation der VA05. Oder weiß
jemand von euch noch irgendeine Möglichkeit?