In größeren Projekten wird es immer wieder vorkommen, dass man ein NAV-Objekt oder ein Tabellenfeld umbenennen muss. An und für sich ist das kein Problem, da NAV bereits alles an Codestücken und Relationen im Hinergrund korrigiert.
Das Problem beginnt wenn man mit einem Tool zur Quelltextverwaltung , wie zum Beipsiel subversion, arbeitet. Nach dem umbenennen eines Objektes/Feldes müssen alle geänderten Objekte in das Tool eingespielt werden. Da NAV allerdings im Hintergrund die Objekte ändert und hierbei weder Zeit, Datum noch Modified ändert, gibt es keinen Weg aus dem Vlient heraus zu erkennen welche Objekte nun tatsächlich verändert wurden. Wenn man nun einige Objekte übersieht, kann dies einigen Ärger nach sich ziehen. Benennt man ein Feld um das im C/AL-Code eines anderen Objektes verwendet wird ist das andere Objekt nicht länge kompilierbar. Klar, das ist einfach zu finden. Handelt es sich allerdings um Objekte mit Tabellenrelationen, ändert NAV die Relation auf die nächste Tabelle / das nächste Feld die/das so ähnlich klingt, bzw. den gleichen Anfang hat. Benennt man also die Tabelle Item in Artikel um, so ändert der Client beim Einspielen der Objekte aus der Quelltextverwaltung die Tabellenrelationen von Item zu Item Translation oder Item Ledger Entry, … .
Da es mir in letzter Zeit öfter passiert ist, dass ich Objekte bzw. Felder umbennen musste, habe ich mir ein kleines Tool geschrieben, welches mir dabei hilft die entsprechenden Objekte ohne großen Aufwand zu finden. Alles was ich jetzt noch tun muss ist alls Objekte vor dem Umbennen als Text zu exportieren. Anschliessend sämtliche Umbennenungen vornehmen und dann wieder alle Objekte als Text exportieren.
Und so funktioniert das ganze:
1) Lade das Programm herunter
2) Das Programm ausführen und auf Compare Files klicken
3) Die erste Datei auswählen
4) Analog zu Schritt 3 die zweite Datei auswählen
5) Das Tool zeigt nun alle Objekte mit Änderungen an
Einige Hinweise:
- Ich gebe keine Garantien
- Die Objektliste kann mit Copy&Paste einfach in Word/Excel/… kopiert werden
- Dieses Programm vergleicht die erste Datei mit der zweiten Datei. Dadurch ist es in der Lage auf zu zeigen welche Dateien aus der ersten Datei in der zweiten fehlen. Dies funktioniert nicht anders herum.
- Das Programm kommt mit allen aktuell vorhandenen Dateitypen klar (Table/Form/Report/…)
- Ihr könnt gerne Kommentare, Bugs, Vorschläge, … posten
Sind noch Fragen offen? Dann immer her damit.