19. Oktober 2011 23:06
Also mir scheint das ganze etwas kompliziert.
Mir liegt das NDT allerdings nicht besonders
ich würde für das Merge folgendermaßen vorgehen:
1. Eine FBK aus der Kunden-DB ziehen. Nicht die Objekte der Kunden-DB kompilieren, das kann Unheil anrichten, wenn du nicht genau weißt was da vorher abgelaufen ist.
2. Neue DB (DB1) aufbauen mit dem 4er-Client, und dort die FBK einlesen. (Falls der 2009er Client die FBK öffnen kann, kannst du die FBK auch gleich mit dem 2009er einlesen, und Schritt 3 sparen)
3. Die eben erstellte DB mit dem 2009er-Client öffnen und konvertieren (damit alle mit dem gleichen Text- Format dargestellt werden)
4. Aus der DB1 solltest du jetzt alle Objekte exportieren, und damit eine neue DB (DB2) aufbauen.
5. DB1 solltest du jetzt mit eine ZIP- Tool sichern, du wirst sie sicher noch einige Male benötigen
6. Für diese DB solltest du einen Server-Dienst einrichten, damit du mehrere DBs gleichzeitig öffnen kannst.
7. Jetzt benötigst du eine 4er Cronus (DB3), die du ebenfalls mit dem 2009er Client öffnest und konvertierst
8. Für diese DB richtest ebenfalls eine Dienst ein.
9. jetzt nimmst du eine 2009er DB (DB4) und richtest auch hierfür einen Dienst ein.
10. jetzt kannst du alle 3 Datenbanken gleichzeitig öffnen.
11. Aus allen DBs exportierst du jetzt die Tabelle Field mit einem Dataport, so das du die Daten später vergleichen kannst (IDs, und Captions, Größe, Typ).
12. Jetzt kannst die 3 Dateien hoffentlich vergleichen, damit du die Felder, die du in 2 angepasst hast (Feldgrößen, Kundenfelder), auch in den anderen Versionen anpassen kannst (deshalb die 3 DBs mit den Servern).
13. Alle Kundenfelder und Feldanpassungen, die du für Wert erachtest, auch in der neuen Version vorhanden zu sein, notierst du dir. Du solltest allerdings auch prüfen, ob die Kundenfelder nicht schon in 2009 vorhanden sind bzw. noch benutzbar sind.
14. Jetzt musst du herausfinden, wo die Feldanpassungen in 2.6 verwendet werden und wie sie in 2009 verwendet werden müssen (Tabellenfelder, Variablen). Da die Unterschiede zwischen 2 und 2009 teilweise sehr groß sind (Artikelposten in 2 und Artikel- u. Wertposten in 2009) kann das schon sehr aufwendig werden. Hier hilft dir auch kein Merge, da der nur Code konvertieren kann, der auch in 2.6 vorhanden war. Neuen Code wird der Merge nicht finden. Da ist Handarbeit angesagt
15. Alle Tabellenfeldanpassungen, die du in 2009 gemacht hast, musst du jetzt auch in die 4er- DB übernehmen.
16. Jetzt liest du das UGT Step1 2.6->4 in DB1 ein, und passt das UGT ein. (Feldgrößen in den Sicherungstabellen des UGT. Felder, die in 2009 nicht mehr benötigt werden, aber deren Informationen in 2009 benötigt werden, in Sicherungstabellen sichern, nicht mehr benötigte Felder in DB1 löschen)
17. Jetzt Step1 des UGT laufen lassen. Bevor du das UGT löschst, die Objekte des UGT exportieren und in DB2 einlesen (du wirst sie wahrscheinlich noch benötigen
)
18. Wenn du alles richtig gemacht hast, kannst du die Tabellen- Objekte aus DB3 einlesen, ohne das du die Fehlermeldung bekommst, die du unten aufgeführt hast.
19. Da Schritt 18 wahrscheinlich nicht beim ersten mal funktionieren wird,
musst du den Grund herausfinden und abstellen (in deinem Fall kann das ein zu kleines oder nicht mehr vorhandenes Feld in 4 (DB3) sein). Dazu passt du entweder die Feldgröße in DB3 an, und importierst die Objekte aus DB3 neu; löschst mit einem Report das nicht mehr benötigte Feld und korrigierst das UGT in DB2; oder sicherst das Feld in einer der Sicherungstabellen des UGT, löschst das Feld und passt ebenfalls das UGT in DB2 an. Danach geht es weiter mit Schritt 18 bis kein Fehler mehr auftritt.
20. UGT Step2 2.6->4 in DB1 einlesen (Ohne schon vorhandene Tabellen)
21. UGT Step2 anpassen, damit die in Step1 zusätzlich gesicherten Daten in den UGT-Tabellen wieder zurück in die eigentlichen Tabellen übernommen werden.
22. UGT Step2 2.6->4 laufen lassen. Vor dem löschen des UGT, die UGT- Objekte exportieren und damit sichern.
23. UGT Step1 4->2009 in DB1 einlesen und laufen lassen. (wenn du die Konvertierung der Kunden- Daten schon beim Upgrade von 2.6 nach 4 gemacht hast, sind hier u.U. keine Anpassungen mehr nötig)
24. Falls du Anpassungen am eben eingelesenen UGT gemacht hast, dieses vor dem löschen der Objekte exportieren.
24. Die Objekte aus DB4 in DB1 einlesen. Falls das schief geht, wie in Schritt 19 verfahren.
25. UGT Step2 4->2009 in DB1 einlesen und laufen lassen.
26. Anwendung testen, testen, testen
27 Bei Fehlern in den Daten fängst du wieder mit dem extrahieren der DB1 aus der in Schritt 5 gesicherten DB an und machst bei Schritt 6 weiter, nur das du die gesicherten UGTs einliest korrigierst laufen lässt und wieder sicherst. Wenn du noch eine Sicherung einer DB aus den Zwischenschritten hast, kannst du evtl wieder bei einem der Zwischenschritte einstiegen, und von dort fortfahren.
So, ich hoffe du verstehst meine Vorgehensweise, und ich habe nicht allzu viel vergessen
.
Ich würde von einem Merge von 2.6 nach 2009 absehen, da aus meiner Sicht die Unterschiede zu groß sind. Übernimm die nicht in 2009 schon vorhandenen Kundenanpassungen in den 2009er Code. Achte auf die Unterschiede zwischen 2.6 und 2009 bei der Übernahme der Anpassungen. Konvertiere die Daten wie oben beschrieben.
Gruß, Fiddi