[GELÖST] Änderungen in der Tabelle "Field" in NAV 2013

2. Mai 2013 09:18

Ich versuche in NAV 2013 per Programmcode in der Tabelle "Field" neue Einträge zu erstellen und bekomme eine Fehlermeldung „Sie können keine Änderungen an der Datenbank vornehmen, ehe eine Transaktion gestartet wurde.“ Derselbe programmcode in NAV 2009 funktioniert einwandfrei, ich rufe einfach in einer Page in einer PageAction eine Funktion in einer Codeunit auf. Die Page hat keine SourceTable, ist nur eine "DUMMY"-Page, um halt die Funktion aufzurufen.
Kann es sein, dass ab NAV 2013 jetzt nicht mehr möglich ist, irgendwelche Manipulationen in der Tabelle "Field" durchzufühen? Oder hat es jemand doch geschafft? Wenn ja, wäre ich für einen Tipp sehr dankbar.
Zuletzt geändert von Jupiter am 2. Mai 2013 17:05, insgesamt 1-mal geändert.

Re: Änderungen in der Tabelle "Field" in NAV 2013

2. Mai 2013 10:29

Das Thema hatten wir (so ähnlich) hier schon: viewtopic.php?f=64&t=19551, und rein zufällig musste ich das gerade für mich auch lösen.

Entweder (wenn es nur für deine lokale Datenbank ist und nicht Teil eines Upgrade Toolkits) verwendest du OMA - das kann mit Hilfe der C/AL Historie das Feld samt Feldwerten umziehen. Der Trick ist, dass die C/AL Historie um das zusätzliche Feld ergänzt wird und das Objekt reimportiert wird. So wird das Problem mit Field.MODIFY umgangen.
Alternativ bräuchten wir eine Routine, die intern das Objekt exportiert, in der Txt-Datei die Felder ändert und das Objekt wieder reimportiert. War mir zu aufwändig.

Oder du gehts diesen Weg (so hat es für mich geklappt, weil ich ein Upgrade Toolkit basteln musste):
  1. Alle Objekte, die sich auf dein umzubenennendes Feld beziehen, als Text exportieren und wieder importieren. Dies setzt sie auf nicht kompiliert.
  2. In der Tabelle das Feld unter neuer ID hinzufügen, beim alten Feld den Namen ändern.
  3. Per C/AL alle Feldwerte vom alten zum neuen Feld verschieben
  4. Altes Feld löschen
  5. Objekte aus Schritt 1 kompilieren.

Edit: Ich habs Microsoft als Verbesserungsvorschlag geschickt. Hier könnt ihr dafür abstimmen: https://connect.microsoft.com/dynamicss ... ils/786099

[GELÖST] Re: Änderungen in der Tabelle "Field" in NAV 2013

2. Mai 2013 17:04

OK, Danke für den Tipp, der Umweg über Text-Datei ist halt umständlicher als einfach per Code neue Felder zu erstellen, aber bleibt vorerst leider nichts anderes übrig.