Seite 1 von 1

Datenimport: Feldlänge ändern? (Länge(Name Altsystem)>40)

Verfasst: Do Okt 18, 2007 9:51 am
von Kollege
Ich möchte gerne wissen, ob es gefahrlos möglich ist, Feldlängen zu verändern.

Konkret geht es um den Adreßstamm, ich habe im Altsystem die Möglichkeit, in 2 Feldern jeweils 25 Zeichen einzugeben, zusammengefaßt werden also u.U. bis zu 50 draus (oder 51, wenn man noch ein Leerzeichen einfügen muß).

Verfasst: Do Okt 18, 2007 10:42 am
von hema
da muss ich auch mal einhaken. In meinem Altsystem habe ich 3x50 Zeichen (Name1, 2und 3). In der Praxis habe ich tatsächlich Kunden, wo ich 50 Zeichen pro Zeile benötige ( Fa. Hastdunichtgesehen GmbH & Co. KG). Eine Änderung wäre für mich schon wichtig, da die Firmen mittlerweile großen Wert auf die korrekte Rechnungsanschrift legen.

Verfasst: Mo Okt 22, 2007 6:48 am
von admin
Generell kann man lange Adressen über die drei Felder im Adressstamm abdecken. Sollte es wirklich nötig sein, dass diese Felder zu kurz sind, kann man das Domain ändern. Danach alle Views neu kompilieren und den Tabellenabgleich im Administrator starten.

Noch ein Hinweis: Felder über einer Länge von 73 Zeichen können in FB nicht inidziert werden.

Verfasst: Di Jan 08, 2008 5:17 pm
von Peger
admin hat geschrieben:Generell kann man lange Adressen über die drei Felder im Adressstamm abdecken. Sollte es wirklich nötig sein, dass diese Felder zu kurz sind, kann man das Domain ändern. Danach alle Views neu kompilieren und den Tabellenabgleich im Administrator starten.

Noch ein Hinweis: Felder über einer Länge von 73 Zeichen können in FB nicht inidziert werden.

Nachdem ich die Domain geändert, die Views neu kompiliert und den Tabellenabgleich gemacht habe, erscheint beim Anlegen eines Kunden und der Verknüpfung mit der Adresse (mit der erweiterten Feldlänge) die Fehlermeldung 335544321.

Weiss jemand wie man diesen Fehler beseitigen könnte, bzw. was mache ich falsch?

Herzlichen Dank im Voraus

Verfasst: Di Jan 08, 2008 7:01 pm
von miboe
Welche Views wurden denn neu kompiliert? Wirklich alle oder nur die, welche zur Adressmaske gehören? Es müssen natürliche ALLE Views, in denen die entsprechenden Felder mit der geänderten Domain vorkommen neu kompiliert werden. Ich hoffe auch, daß es kein Mißverständnis bei "die Domain ändern" gegeben hat. Was admin gemeint hat, war, den Feldern eine andere Domain zuweisen und nicht die bestehende Domain ändern! Wenn in der Domain APLHA40NOTNULL was geändert wurde, dann das schnellsmöglich wieder rückgängig machen, weil davon das halbe Programm betroffen ist!

Nach dem Aktualisieren im AverpAdmin sollte man auch mal prüfen, ob die Änderungen auch übernommen wurden und die Felder mit der neuen Domain auch die richtige Eingabelänge haben.

Gruß
Michael

Verfasst: Di Jan 08, 2008 11:03 pm
von Peger
Hallo Michael,

erstmal Danke für die rasche Antwort.

Nun zu den Fragen zur Lösung meines Problems:

1. Es wurden nur die Views kompiliert die zur Adressmaske gehören.

Wie kompiliere ich mit IBExpert alle Views?

2. Es wurde eine neue Domain ALPHA70NULL (VARCHAR,70, ISO8859_1, DE_DE) für das Feld "Straße" des Adressstamms erstellt.

3. Die Felder der neuen Domain hatten die richtige Eingabelänge (70 Zeichen)

Danke


Ja wissen ist macht der wert der Zukunft und das einzige was mehr wird wenn man es weg gibt

Verfasst: Mi Jan 09, 2008 7:04 pm
von miboe
Man kann glaube ich nicht alle Views auf einmal neu kompilieren. Das ist ja das Problem bei solchen "bösen" Änderungen. Ich helfe mir in der Regel damit, daß ich im IBexpert in der Feldansicht der Tabelle (nicht der View) - also dort wo ich gerade das Feld geändert habe - im unteren Zusatzfenster von Beschreibung auf Abhängigkeiten umschalte. Dort bekommt man zumindest die wichtigsten Views, Trigger und Prozeduren, die auf das Feld zugreifen und kann sie von dort auch aufrufen um sie neu zu kompilieren

Ich bin selbst mal gespannt, ob jemand einen besseren Trick kennt.

Auf jeden Fall betroffen sind aber:
* Kunden
* Lieferanten
* Bestellungen
* Aufträge
* Lieferscheine
* Wareneingänge
* Bestellvorschläge
* Rechnungen (beide Richtungen)
* 8D-Report
ohne den Rest :(

Gruß
Michael

Verfasst: Mi Apr 30, 2008 8:07 am
von Geri12
Hallo miboe,
ich wollte gerne wissen, wo BSA->MATCHCODE überall verwendet wird.

Zuerst habe ich im IBExpert unter Nützliches -> Extrahiere_Metadaten alles extrahiert und dann in den SQL-Editor laden lassen (hat ganz schön gedauert).
Dann habe ich mit STRG-F die Suchmaske geöffnet, um in den extrahierten Metadaten nach "MATCHCODE" zu suchen.

Dabei habe ich festgestellt, dass die Suchmaske ein 2. Register namens "Suche in Metadaten" besitzt. :P

Dort habe ich bei "Suche in" alles angehakt, den Suchbegriff und die Datenbank korrekt eingetragen und schon (nach ein paar Minuten) hatte ich alle Tables / Views / Procedures / Trigger raus, in denen "MATCHCODE" auftaucht.

Ich denke mal, das könnte die Arbeit vereinfachen. IBExpert ist anscheinend eine Fundgrube für "little useful things".

Gruß,
Geri12

Verfasst: Mi Apr 30, 2008 8:20 am
von miboe
Ja, solche Nützlichkeiten hat IBexpert schon einige ... aber auch bei dem Weg kommt man nicht daran vorbei, die gefundenen Views und Prozeduren selbst neu zu kompilieren. Was halt definitiv fehlt ist der großen Hammer für nachts um 12:00 Uhr: Recompile all Views! Das sollte man dan natürlich nicht im laufenden Betrieb machen, weil ja das Recompilieren einer View mit dem sehr drastischen Befehl "DROP VIEW" anfängt :)

Gruß
Michael

Verfasst: Mi Apr 30, 2008 12:30 pm
von Geri12
Hallo miboe,
miboe hat geschrieben:Ich helfe mir in der Regel damit, daß ich im IBexpert in der Feldansicht der Tabelle (nicht der View) - also dort wo ich gerade das Feld geändert habe - im unteren Zusatzfenster von Beschreibung auf Abhängigkeiten umschalte
Hier fehlen bei mir viele wichtige Daten wie z.B. die Views. Bin in der Tabelle BSA und stehe auf dem Feld EPLANNR -> sehe außer 2 Triggern keine weiteren Abhängigkeiten, obwohl EPLANNR noch in der View V_BSA vorkommt.

Vielleicht muss bei mir auch irgendwas anders eingestellt werden !? Habe die IBExpert-Vollversion.

Nichtsdestotrotz wäre eine View-Rundum-Kompilier-Funktion natürlich prima.

Gruß,
Geri12

Verfasst: Mi Apr 30, 2008 1:18 pm
von miboe
Stimmt ... die Feldabhängigkeiten zeigen im wesentlichen Trigger und Prozeduren an. Ich bin in der Zwischenzeit dazu übergangen, bei Änderung einer Domain für ein Feld einer Tabelle gar nicht mehr nach Abhängigkeiten des einzelnen Feldes zu suchen, sondern direkt die Abhängigkeiten der Tabelle. Alle dort gelisteten Views compiliere ich dann einmal neu, egal, ob sie das Feld enthalten oder nicht. Ist zugegebener Maßen ein bißchen die Holzhammer-Methode, aber hundertmal schneller, als überall reinschauen, Feld suchen ......... bei Prozeduren geht es leider nur manuell mit Blick in die Variablenliste.

Gruß
Michael

Verfasst: Mo Feb 08, 2010 4:00 pm
von gebe
Hallo miboe,

mich würde sehr interessieren, ob du vielleicht inzwischen eine effizientere Methode als die von dir beschriebene "mit dem Holzhammer" gefunden hast, um die Views einer Tabelle nach dem Ändern einer Feldlänge neu zu kompilieren.
Ich ziehe nämlich in Betracht, die Feldlänge von ARTBEZ und ARTBEZ2 in BSA zu ändern, aber wenn ich nach deiner zuletzt beschriebenen Methode vorginge, hätte ich mehr als 280! Views neu zu kompilieren...

Gruß, Gerhard

Verfasst: Mi Feb 10, 2010 8:03 am
von admin
gebe hat geschrieben: ... hätte ich mehr als 280! Views neu zu kompilieren...
Nicht zu vergessen, dass alle Prozeduren angepasst werden müssen, in denen das Feld auslesen wird...

Wenn es sich um so viele Views handelt, dann würde ich ein Skript aller Views mittels IBExpert herausziehen, dann alle Views löschen und das Skript wieder einspielen (in einer Testdatenbank...).

Verfasst: Mi Feb 10, 2010 7:50 pm
von miboe
Nein, keine neue Methode. Da so drastische Änderungen meist nur in der Einführungsphase notwendig sind, gab es dafür auch Gott sei Dank keine Notwendigkeit mehr.

Um wie viele Zeichen geht es denn, um die die Bezeichnungsfelder verlängert werden müssen? Also real ... nicht die mögliche Feldlänge des alten Systems, die ja nicht immer voll ausgenutzt wird.

Es wird mit weniger Aufwand verbunden sein, vielleicht nochmal den Teilestamm genauer unter die Lupe zu nehmen.

Gruß
Michael