[solved] Feld Nr. 100...Tabelle Zusatztextzeile nicht defini

6. Juli 2017 11:03

Liebe Kolleginnen und Kollegen,

Ich habe über den Dataport die Zusatztextzeilen (Tabelle Extended Text Lines) für unsere rund 10'000 Artikel aktualisiert. Dabei wurden bestehende Texte gelöscht, geändert und auch neue hinzugefügt.

Innerhalb der Artikelkarte funktioniert alles, man sieht die neuen Zusatztexte im relevanten Bereich, kann sie editieren etc. Auch die Zusatztext Header Tabelle ist gesetzt und synchronisiert.

Soweit so gut. Das lief nun schon einige Tage bis ein Mitarbeiter nun mal versucht hat einen Artikelprimärschlüssel umzubenennen. Dabei durchläuft ja der OnRename Trigger der Item Tabelle, welcher auch ohne Probleme durchläuft. Nach dem Trigger scheint es jedoch "Default Rename Behavior"-Code zu durchlaufen, den ich nicht debuggen kann und bei dem ich noch nicht mal weiss, ob er in einer, und wenn in welcher, Codeunit zu finden ist. Wie auch immer: Navision versucht wie immer schon diverse Tabelle zu synchronisieren, so wird u.a. die Tabelle Verkaufszeilenarchiv sichtbar durchlaufen. Kurz nachdem dieses Fenster verschwindet erscheint die kryptische Fehlermeldung "Feld Nr. 100 ist in der Tabelle Zusatztextzeile nicht definiert" und das renamen wird abgebrochen.

Ich komme mit dem Fehler nicht klar: Es gibt gar kein Feld 100 UND GAB ES AUCH NIE. Ich habe in der Tabelle kein Feld gelöscht. Ausserdem hat die Tabelle ja auch nur rund 5 oder 6 Felder. Hab mir sogar vorher noch ein Backup der Tabelle gemacht und auch die zeigt kein Feld mit der Nr. 100. PS: Mit meiner Entwicklerlizenz kann ich auch kein Feld mit der Nr. 100 erstellen, das ist ausserhalb meiner Berechtigungen (also kann ich es auch nicht gelöscht haben).

Kann es sein, dass das ein internes, verstecktes Feld ist?

Ich bin für jede Hilfe dankbar!
Zuletzt geändert von Izzy am 6. Juli 2017 16:24, insgesamt 1-mal geändert.

Re: Feld Nr. 100 ist in der Tabelle Zusatztextzeile nicht de

6. Juli 2017 11:09

Hallo,

da müstest du mal den Debugger befragen (hoffentlich findet er das :-? )
Es kann auch sein, das durch einen ausgelösten Trigger (Onvalidate,Insert,Modify,....) andere Tabellen geändert werden, in denen das Feld fehlt.

Gruß Fiddi

Re: Feld Nr. 100 ist in der Tabelle Zusatztextzeile nicht de

6. Juli 2017 11:19

Ich würde darauf spekulieren, dass es eine Tabelle mit einem Feld, welches auf dieses Feld per TableRelation referenziert.

Bei einem Rename werden ja schließlich auch alle TableRelations geändert der betroffenen Daten geändert.

Re: Feld Nr. 100 ist in der Tabelle Zusatztextzeile nicht de

6. Juli 2017 11:23

hallo fiddi! danke fuer deine antwort. komme mit dem debugger nicht dahin, nachdem OnRename durchlaufen ist macht der debugger bis zur fehlermeldung nichts mehr. der fehler scheint waehrend dem durchlaufen von internem code auzutreten. hm...

Re: Feld Nr. 100 ist in der Tabelle Zusatztextzeile nicht de

6. Juli 2017 11:32

Dein letzter Versuch ist ein "Compile all" in einer Testdatenbank mit genau diesem Objektstand, evtl. bringen die Fehlermeldung was.

Die Folgen eine Rename sind leider immer etwas schwer nachzuvollziehen. Wenn es geht würde ich das vermeiden.

Gruß Fiddi

Re: Feld Nr. 100 ist in der Tabelle Zusatztextzeile nicht de

6. Juli 2017 11:47

Hallo Fiddi,

Danke für den Tip, werde ich am Wochenende ausprobieren!

@rwendler: Auch Dir, danke! Was ich nicht verstehe, ein Feld mit Nr. 100 hats ziemlich sicher nie gegeben in der ExtendedTextLines Tabelle. Gibt es eine Möglichkeit alle Tabellen zu finden die über TableRations zu der ExtendedTextLines Tabelle verfügen?

Ich kann mir das ganze nicht erklären. Es wurde "nichts" anderes gemacht als ExtendedTextLines per Dataport exportiert, aufgefrischt und wieder importiert. Ja doch, die ExtendedTextHeaders wurden noch generiert, wo diese dann für neue Texte gefehlt haben. Was ggfs. nicht gut war ist, dass ich zuerst die Lines und erst dann die Headers ergänzt habe, da mir aufgefallen war, dass einige Lines nicht sichtbar waren. Von der Sequenz her wäre es umgekehrt wohl korrekter gewesen. Trotzdem lief nachher "alles", auch die Reports. Nur das renamen macht jetzt Probleme. Komisch.

Ich werde die DB-Objekte mal komplett neu kompilieren, mal schauen. Melde mich nach dem Wochenende wieder und bedanke mich schonmals!!

Re: Feld Nr. 100 ist in der Tabelle Zusatztextzeile nicht de

6. Juli 2017 11:52

Das Feld muss es zwangsweise nicht geben.

Zum Herausfinden kann man alle Objekte als Txt exportieren und dann nach "Field100" suchen. Beim Kompilieren eines Objektes fällt dir das aber nicht auf die Füße.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Feld Nr. 100 ist in der Tabelle Zusatztextzeile nicht de

6. Juli 2017 13:35

Hallo rwendler,

Super Tip danke! Bin damit auf die richtige Spur geführt worden. Es hat (WARUM AUCH IMMER!) TableRelations auf dieses Feld100 (das es nicht gibt) an mindestens zwei Orten. Da hab ich's zwar nun behoben, es war alter Hilfscode von der Firma die den Dataimport für unser Navision ursprünglich durchgeführt haben. Könnte sein, dass durch mein Backup der Tabelle Extended Text Lines diese Links auf die BackupTabelle zeigen und durchs neue compilieren jetzt Fehler generieren die vorher nicht kamen. Es ist ja so, dass das Feld 100 auch in der originären Tabelle nach wie vor nicht existiert.

Jetzt hab ich noch das Problem, dass ich mit meiner Lizenz nicht alle Tabellen exportieren und prüfen kann. Irgendwo hat's da noch nen falschen Link.

Diese Link hier ist zumindest sicher nicht korrekt und habe ich behoben:

tablerel.jpg


Warum es bei SaveAs der Tabelle die RElation umbenennt hat ist mir schleierhaft und überrascht mich auch sehr. Unabhängig davon wäre aber der Link auch vorher falsch gewesen, da das Feld gar nicht existierte. Aber früher kam kein Fehler.

Komisch, ich bleib dran und teste mal am Wochenende in Ruhe weiter.

glg und schonmal vielen herzlichen Dank Euch beiden!!!
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Feld Nr. 100 ist in der Tabelle Zusatztextzeile nicht de

6. Juli 2017 16:23

Hallo Freunde,

Also, das Problem ist soweit behoben. Der springende Punkt war, dass mir eine SaveAs Kopie der ExtendedTextLines Tabelle gemacht hatte. Und bei diesem Prozess sind Tabellenlinks auf Felder der originären Tabelle auf die Backup-Tabelle umgelinkt worden, was ich unglaublich gefährlich finde und ich nicht verstehen kann.

Ich habe über den Tip von rwendler (danke nochmals!) nach allen Instanzen des Feldes gesucht (leider konnte ich aber aufgrund meiner Lizenz nicht alle Tabellen als Text exportieren). Zwei habe ich gefunden und gelöscht. JA, gelöscht. Aufgrund der Beschreibung waren es wohl nur ein Hilfsfeld das man nutzte als man vor 10 Jahren den Altdatenimport gemacht hatte. Es scheinen heute keinerlei Relevanz mehr zu haben (das Feld 100). Auch gibt es das Feld nicht mehr (oder meine Lizenz zeigt es nicht an?).

Nachdem es dann immer noch nicht ging habe ich mich entschieden meine Backup-Tabelle zu löschen (gibt's schon noch notfalls, in unserer Cloud) und damit Navision zu zwingen alle Links auf Felder darauf in anderen Codeunits oder Tabellen zu löschen. Das ging ohne Warnmeldungen.

Prompt lief das Renaming von Items wieder.

Schon komisch irgendwie....

Kann es sein, dass man je nach Entwicklerlizenz gewisse Felder nicht sieht? Kann es sein, dass beim SaveAs solche Felder nicht mitkopiert werden? War erklären würde warum dem Link erst durch den (unsinnigen) Verweis auf die Backup-Tabelle nicht mehr lief.

Was denkt Ihr? Danke Euch!!

Re: [solved] Feld Nr. 100...Tabelle Zusatztextzeile nicht de

7. Juli 2017 10:40

In Dynamics NAV 5 ist es nicht möglich, dass du Felder im Entwicklungsstand nicht siehst, weil deine Lizenz dafür nicht ausreicht.

Es könnte allerdings vor allem in späteren Versionen veränderte Objekt Metadaten geben, sodass das Objekt im Entwicklungsclient anders aussieht, als es in den Objektmetadaten bereitgestellt wurde. Dabei hilft aber immer ein Kompile um das Objekt wieder zu aktualisieren.

In ganz neuen Ständen gibt es auch Extensions. Dort können Feldänderungen enthalten sein, die nur noch in den Metadaten gespeichert sind und ergo nicht mehr im Entwicklungsclient zu sehen sind.

Beide Fälle treffen aber auf dich nicht zu.

Dein Problem mit den falschen TableRelation tritt immer wieder auf. Ich habe dazu schon einige Fälle gehabt und die Ursache ist meistens auch noch unterschiedlich. Ich kann dir nur anraten, dass der Objektstand "aufgeräumt" sein sollte und man nichts in der Datenbank hat, was man nicht braucht. Dann kann man das Risiko solcher Fälle reduzieren.

Re: [solved] Feld Nr. 100...Tabelle Zusatztextzeile nicht de

7. Juli 2017 11:06

ich danke dir vielmals fuer die erleuterungen! da bin ich beruhigt, dass mir keine felder beim mutieren einer tabelle vorbehalten werden. komisch ist halt, dass der link auf feld 100 eigentlich immer schon tot war aber erst nach der durch navision selber ausgefuehrten umlinkung auf die backup tabellenkopie zu fehlermeldungen fuehrte. ziel und zweck der backup tabelle war ja nur logischerweise von den altdaten eine kopie noch zu haben. jetzt wo ich diese geloescht habe sind alle toten links entfernt worden. was wiederum in sich schon ueberascht, da ich mir nicht vorstellen kann das nav alle tabellen nach links zu der zu loeschenden tabelle durchsucht, diese entfernt und alle tabellen neu kompiliert. viele fragezeichen bleiben. trotzdem allen vielen herzlichen dank fuer den support, den ich sehr schaetze!