18. August 2010 10:54
Willkommen im Forum. Das hier ist z.B. eine gute Seite um Erklärungen und Beispiele zu finden.
Ich hoffe, du experimentierst nur etwas mit einer lokalen Testdatenbank, um dich in die Programmierung einzuarbeiten. Ansonsten müßte ich nämlich sagen, daß jemand mit deinen Vorkenntnissen nicht an Buchungscodeunits herumbasteln sollte.
Nun zum eigentlichen Thema. Wenn du eine Variable an eine Codeunit übergeben möchtest, die in der Codeunit auch noch verändert werden kann, dann gibt es zwei Wege.
1. Du legst in einer Funktion einen weiteren Parameter an, den du per Referenz übergibst, d.h. Var ist angehakt.
2. Du definierst sog. Setter- und Getter-Funktionen und eine globale Variable.
Also bspw. SetBoolean(Value : Boolean)
- Code:
GlobalBoolean := Value;
und GetBoolean() : Boolean
- Code:
EXIT(GlobalBoolean);
Bei
- Code:
CODEUNIT.RUN(CODEUNIT::"Job Jnl.-Post",Rec);
geht das allerdings nicht so einfach. Die RUN-Funktion einer Codeunit kann nur einen Parameter haben und der ist vom Typ Record. Außerdem ist die Konstruktion CODEUNIT.RUN nicht dafür geeignet die Referenz auf die Instanz der Codeunit zu halten, d.h. Setter- und Getter-Methoden fallen auch weg. Vielleicht solltest du einen Schritt vorher anfangen: Was möchtest du denn erreichen?