[gelöst] Grundsatzfrage

4. Dezember 2008 08:55

Guten Morgen Zusammen

Ich befülle automatisch die Tabelle "Production Document Dimension".

Wenn ich diese Tabelle manuell befülle, läuft im Hintergrund Code ab, der weiter Zeilen erstellt (Dimension der Komponenten).

Wie kann ich diesen Code aufrufen, oder wie ist der Ablauf, wenn ich die Tabelle automatisch befüllen will?

Vielen Dank im Voraus
Zuletzt geändert von mak am 11. Dezember 2008 17:42, insgesamt 1-mal geändert.

Re: Grundsatzfrage

4. Dezember 2008 09:20

Hallo mak,

wenn du in NAV Felder Werte zuweist oder Datensätze in Tabellen einfügst, änderst oder löscht, hast du immer die Möglichkeit das auf zwei Arten zu tun.

Bei den Feldern kannst du einfach sagen 'Tabelle.Feld := Wert', dann wird dem Feld der Wert zugewiesen. Die andere Möglichkeit ist 'Tabelle.VALIDATE(Feld,Wert)', hier wird der sog. OnValidate-Trigger des Feldes aufgerufen. Dort kann beliebiger Code ausgeführt werden, um z.B. weitere Felder in der Tabelle abhängig vom übergebenen Wert zu aktualisieren. (z.B. setzten der Beschreibungstexte in der Verkaufszeile, wenn man die Artikelnr. eingeben hat).

Bei der Tabelle kannst du INSERT,MODIFY,DELETE,MODIFYALL,DELETEALL mit dem Parameter TRUE aufrufen (z.B. Tabelle.INSERT(TRUE)). Wenn du das so machst wird nicht nur der aktuelle Datensatz in der Tabelle berbeitet, sondern auch noch die OnInsert,OnModify,OnRemove- Trigger der Tabelle aufgerufen. Hier kannst du jetzt weitere Tabellen bearbeiten, oder deinen aktuellen Datensatz verändern.

weitere Infos solltest du in der C/SIDE- Hilfe finden.

Gruß, Fiddi

Re: Grundsatzfrage

4. Dezember 2008 12:43

Vielen Dank, hat mir weitergeholfen!!!