feb 17
Ik heb al heel wat datamigraties gedaan, maar om eerlijk te zijn houd ik niet van de volledige data- en codemigratie.
Dus ja, ik doe de codemigratie, maar de gemigreerde code is vanuit mijn oogpunt slechts een library met mogelijke herbruikbare oplossingen. We refactoreren deze code altijd, maar dat zal een impact hebben op de datamigratie. Dus, hoe kunnen we het op de juiste manier doen? We maken de nieuwe masterdata, en als deze taak is voltooid, moet je migreren naar de volgende topics. De truc is dat je ook de customizations van bovenstaande topics moet toevoegen op de data-entiteiten. Deze truc werkt zelfs voor AX 2009. Dus, hier is een overzicht van alles wat geëxporteerd moet worden.
Als je meer onderdelen moet importeren, bekijk dan de templates. Dit is een goed begin.

Zoals je kunt zien, zijn er veel Excels te maken. Dus kunnen we dat automatiseren? Ja, dat kan! Maar je moet begrijpen hoe het data import framework werkt in D365FO. Je moet weten dat elke gegevensentiteit ook een SQL View is. Dus, start een Tier 1 dev box en exporteer die views naar een SQL create script. Laten we eens kijken naar de volgende voorbeelden.

In de volgende afbeelding kun je zien dat de SQL View eruit ziet als de Visual Studio Entity.

Nu moet je de view exporteren vanuit SQL Studio.

De volgende stap is het importeren van deze views in AX 2012. Ik raad sterk aan om de view-namen te veranderen naar de functionele namen uit de bovenstaande lijst (gebruik een underscore voor de spaties). Na het aanmaken van al die views in AX 2012, is de laatste stap het maken van een exportbestand in Excel-format.

Het Source-format is je AX 2012 Prod Database en je target is Microsoft Excel. Selecteer je views.

In dit voorbeeld heb ik de view-namen niet hernoemd naar de functionele entiteitnaam (voorbeeld is van het begin van mijn leercurve ). En uiteindelijk krijg je een mooie Excel met meerdere tabbladen, die je eenvoudig kunt kopiëren naar je import source-bestanden. Gebruik bij voorkeur functionele namen, zodat de tabbladen meer in lijn zijn met de import Excel-bestandsnamen.

Nadat je de tabbladen naar hun respectievelijke Excel-sheets hebt gekopieerd, deze terug in het zip-bestand hebt gekopieerd en ten slotte hebt geïmporteerd, zal het er zo uitzien. (Opmerking: het zip-bestand wordt gemaakt door eerst de data uit D365FO te exporteren. Dit zal resulteren in het lege Excel-bestand in het zip-bestand.)

Maak consistentiequeries in AX 2012 en bekijk onderstaande topics. Het is beter om ze hier te bekijken dan wanneer je het in D365FO importeert.

Een ander pijnlijk ding is de table inheritance, de tabel ID in D365FO kan anders zijn dan in AX 2012

De relation roles waren ook zoiets

Cust & vend trans open scope

Alleen open sales lines

Alleen open purchase lines

Ja, we kunnen een beetje FIFO simuleren. De Invent Sum tabel heeft een Modified Date Time. Dit zegt ons wanneer dat item voor de laatste keer werd gewijzigd.

Out of the box kan het sales line nummer niet worden geïmporteerd, dus moet je de Sales order lines V2 Entity uitbreiden. Je moet ook kijken naar de markering tussen de verkoop- en de inkoopregels. Mijn advies is om eerst de Inkoopregels te importeren, en daarna de verkoopregels. Zoek op de verkoopregel-entiteit naar de gerelateerde inkoopregel. Wanneer de inkoopregel niet gevonden wordt, betekent dit niet dat het een fout is, omdat de gerelateerde inkoopregel overgeslagen kan zijn bij de datamigratie. Zorg er ook voor dat de formules beschikbaar zijn voordat je de verkoop- en inkoopregels importeert, anders hebben uw voorraad transactiewaarden de verkeerde waarden…
Als er iets fout gaat en je de fouten moet herstellen, kan een eerdere blog je helpen om je fouten naar Excel te exporteren en ze dan weer te importeren.