Anpassung von einzulesenden Aufträgen

6. Februar 2009 10:05

Hallo,

unsere Orders werden automatisch eingelesen, bei einem neuen Kunden haben wir allerdings jetzt folgendes Problem:
Er bestellt mit der Einheit Gramm, in unserem System sind allerdings Stück hinterlegt.
Wenn nun also 60000 Gramm bestellt werden sollen stehen bei uns 60000 STK im System. Momentan wird das ganze noch manuell auf 60 STK abgeändert.
Jetzt wollten wir das ganze so anpassen, dass wenn ein Auftrag mit den betroffenen Artikeln eingelesen wird, die 60000 - also die Menge, automatisch durch 1000 geteilt wird.

Der Code hierfür in unserer E-Net-Schnittstelle sieht folgendermaßen aus:

Code:
IF VKZeile."No." = '50053' THEN
VKZeile.Quantity := VKZeile.Quantity / 1000;


Der Code lässt sich kompilieren, wird aber nicht weiter beachtet und die Menge steht weiterhin falsch in unserer Verkaufszeile.

Hat jemand eine Idee was falsch sein könnte, oder wie wir das sonst umsetzen könnten??

Danke!!

Re: Anpassung von einzulesenden Aufträgen

6. Februar 2009 10:26

Kommt am Ende auch ein MODIFY?

Code:
IF VKZeile."No." = '50053' THEN BEGIN
  VKZeile.Quantity := VKZeile.Quantity / 1000;
  ...
  VKZeile.MODIFY;
END;

Re: Anpassung von einzulesenden Aufträgen

6. Februar 2009 10:41

Des Weiteren sollte das Feld mit einem VALIDATE gefüllt werden, da sonst die anderen Mengenfelder
(Menge zu liefern, Menge zu fakturieren, Menge (Basis), Restauftragsmenge, ...)
nicht umgerechnet werden.
Code:
IF VKZeile."No." = '50053' THEN BEGIN
  VKZeile.VALIDATE(Quantity,VKZeile.Quantity / 1000);
  ...
  VKZeile.MODIFY;
END;

Re: Anpassung von einzulesenden Aufträgen

6. Februar 2009 12:48

Jetzt sieht der Code so aus...

Code:
IF VKZeile."No." = '50053' THEN BEGIN
VKZeile.VALIDATE(Quantity,VKZeile.Quantity / 1000);
VKZeile.MODIFY;
END;


Aber irgendwie funktioniert das immer noch nicht, der macht einfach gar nichts!?

Re: Anpassung von einzulesenden Aufträgen

6. Februar 2009 12:51

Hast du schon mit dem Debugger geprüft, ob der Programmcode überhaupt ausgeführt wird?

Re: Anpassung von einzulesenden Aufträgen

15. Februar 2009 23:55

D_Gross hat geschrieben:Aber irgendwie funktioniert das immer noch nicht, der macht einfach gar nichts!?

Der Fehler liegt auf jeden Fall in der Logik. In der Datenbank gibt’s keine unerklärbaren Erscheinungen. Der Code soll richtig sein – ist er auch. Der Code sollte ausgeführt werden – da kann der Debugger helfen. Die Daten sollten in die richtige Tabelle geschrieben werden – es kann aus versehen ein anderer Subtype für die Record Variable VKZeile definiert werden (ehe unwahrscheinlich) oder die Variable VKZeile als temporär definiert wurde (schon wahrscheinlicher). Im weiteren Verlauf der Codeausführung konnten die gemachten Änderungen zu Nichte gemacht werden – passiert oft.

Viel Spaß beim Testen.
Gruß, Michael