Hallo zusammen,
in Averp ist es ja so, daß die Indexbereiche in der Tabelle A_TABELLEN und A_MASKEN vom System vorgegeben werden und nicht per Generator erzeugt werden. In A_FELDER wird das ja ebenso gemacht, wobei dort cleverer Weise die Indizes der Felder bei INDEX_TABELLE + 1 fortlaufend liegen.
Soweit sehr gut!!!
Leider ist es aber so, daß das Sprachsystem dieser Systematik nicht folgt. Dementsprechend ist es halt schon schwierig, Updates per Skript von einer Datenbank in eine andere zu übertragen, weil man in fast allen Fällen die Sprachübersetzungen nicht 1:1 mitnehmen kann. Dort werden nämlich sowohl in A_TRANS als auch in A_TRANSP die Indizes über Generator erzeugt.
Deswegen mal folgender Vorschlag zur Diskussion:
A_TRANS und A_TRANSP folgen auch dem "intelligenten" Primärschlüssel-System der Systemtabellen derart, daß
A_TRANS_ID = A_MASKEN_ID oder A_TABELLEN_ID oder A_FELDER_ID
A_TRANSP_ID = (A_TRANS_ID * 100) + SPRACH_ID
Also ausgehend von einer 2006.B2.02, die nur die Sprachen laut Auslieferung enthält für die V_BSA des ARtikelstamms:
A_TABELLEN_ID = 2.225.500
A_FELDER_ID = 2.225.501 - 2.225.647
und damit
A_TRANS_ID = 2.225.500 - 2.225.647
A_TRANSP_ID = 222.550.003 - 222.550.008 für die Tabelle und für die Felder entsprechend fortlaufend (also 222.550.103 usw.)
Zu beachten ist dabei lediglich, daß man A_TRANSP_ID von Integer auf BIGINT umstellen sollte, soweit Firebird das als Primärschlüssel zuläßt.
Das würde es für Benutzer, die sich selbst Erweiterungen bauen, das Leben deutlich einfacher machen, wenn es darum geht, nicht mit den "offiziellen" Synerpy-Programmteilen zu kollidieren.
Gruß
Michael
Idee zum Sprachübersetzungssystem
Moderator: SYNERPY
-
- Beiträge: 1295
- Registriert: Fr Jul 28, 2006 9:13 am
Idee zum Sprachübersetzungssystem
Nur wer das Unmögliche versucht, wird das Machbare erreichen!
--
Datenbank: 2012-A02
Programm: 4.2.5.65
OS: Win 7 Pro / Ubuntu 10.04.3
--
Datenbank: 2012-A02
Programm: 4.2.5.65
OS: Win 7 Pro / Ubuntu 10.04.3
-
- Beiträge: 1295
- Registriert: Fr Jul 28, 2006 9:13 am