[gelöst] Migration BC14 C/AL to AL

3. August 2023 08:08

Hallo Forum,
ich habe Probleme, eine Kundenlösung von Nav2016 über BC14 -> C/AL -> AL nach BC19 zu migrieren. Es hängt am Übergang von C/AL zu AL in der BC14, vermutlich an Task 3 (Move code customizations to extensions).
Dabei geht es vorrangig um ein zugekauftes Modul im Fibu-Bereich, also Tabellen im 5xxxxxx - Bereich sowie Feldern in Navison Standardtabellen, zb. Feld 5xxxxxx in Tabelle 3 "Payment Terms".

Die eigenen Kundentabellen im 50000er Bereich und die 50000er Felder in Standardtabellen, habe ich alle über Upgrade-Codeunits von C/AL-Tabellen in AL-Tabellen migriert und im C/AL Bereich entfernt, das hat soweit geklappt.
Aber was mache ich genau mit den Tabellen für das zugekaufte Modul. Ich muss die ja irgendwie von C/AL in AL überführen. Lt. Info vom Hersteller wird das mit den Microsoft Bordmitteln, wie hier beschrieben (https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/upgrade/upgrade-to-microsoft-base-app-v19) gemacht.

Angenommen das Fremdmodul wäre was ganz Einfaches und bestünde nur aus:
einer Tabelle 599999999 "FIN Daten" mit einigen Feldern drin
einem Feld 5111111 "FIN Daten Verweis" in der Standardtabelle 3 "Payment Terms"
und der Vollständigkeit halber noch:
einer Codeunit 5777777 "FIN Funktionen", die irgendwelche Funktion beinhaltet
und vielleicht noch eine Page 5444444 "FIN Daten Übersicht", die die Daten der Tabelle "FIN Daten" irgendwie anzeigt.
Was mache ich mit den 4 Objekten bezogen auf Task 3?
Ich muss ja irgendwie dafür sorgen, dass insbesondere die Tabelle 5999999 und das Feld 5111111 in Standardtabelle 3 "Payment Terms" irgendwie aus C/AL "verschwinden"…so in der Art, glaube ich, habe ich es zumindest hier im Forum an anderer Stelle gelesen.

In den ersten Migrations-Versuchen habe ich erstmal nichts mit den Fremdmodul Tabellen bzw. dessen Feldern in Standardtabellen gemacht, weil ich das wahrscheinlich fälschlicherweise eben nicht als "code customization" betrachtet habe. Ich dachte, Navision macht da irgendwas internes und "zaubert" das in AL …
Irgendwann am Ende in BC19, beim Synchronisieren, kam dann z.B. die Fehlermeldung "The Field 'FIN Daten Verweis' cannot be located Removing fields is not allowed".

Hat jemand eine Idee, wie ich da weiterkomme?

Vorab schon mal vielen Dank und viele Grüße...
Zuletzt geändert von svr am 27. März 2024 10:03, insgesamt 1-mal geändert.

Re: Migration BC14 C/AL to AL

3. August 2023 09:00

Hallo,

ich denke da musst du genauso verfahren. Wäre natürlich schön, wenn der App- Anbieter dir da was fertiges liefern würde, hat er aber wohl nicht. eine zusätzliche Aufgabe könnten auch Anpassungen am FIN- Modul in der Alten Lösung sein. Die müssten dann außerdem migriert werden.

Gruß Fiddi

Re: Migration BC14 C/AL to AL

3. August 2023 17:38

M. E. muss der Anbieter das liefern. Solange Microsoft noch Version 14 und Upgrades von dort unterstützt sollten das auch die Anbieter von Add-ons tun. Ich hatte bislang nur einen Fall, da wurden alle Daten aus den Tabellen des Add-ons in eine Datei exportiert, dann in C/AL die Inhalte und Objekte gelöscht. In AL dann die Daten aus der Datei importiert. Keine elegante und schon gar keine schnelle Lösung, hat aber so lt. Anleitung des Anbieters funktioniert.

Re: Migration BC14 C/AL to AL

4. August 2023 10:50

Hallo,

erstmal Danke für die Antworten.
Lt. Hersteller gibt es eine App/Extension. Mir ist aber immer noch nicht klar, wie ich das da reinbekomme, aber ich versuch's weiter...

Viele Grüße

Re: [gelöst] Migration BC14 C/AL to AL

27. März 2024 10:17

Hallo Forum,

nach einigen Versuchen und Rücksprache mit dem Modulhersteller, muss man einfach nur machen, was in der Upgrade-Anleitung bei Microsoft steht. Hier und da gab es ein paar Missverständnisse in der Interpretation einzelner Schritte, die dann zu Fehlversuchen führen. Am Ende lag es an der ID in der zu erstellenden migration.json - Datei. Neben den beiden Microsoft ID's muss dort die ID für die Hersteller App mit rein, in die die Daten automatisch hineinmigriert werden. Man muss die Hersteller-App als "customized extension" betrachten. Wenn man sowas noch nie gemacht hat, dann versteht man das Prozedere nicht unbedingt zeitnah...wenn man dann aber eine Weile "übt" klappt's halt irgendwann... :-)