Idee zum Sprachübersetzungssystem

Alles, was den Programmierer beschäftigt

Moderator: SYNERPY

Antworten
miboe
Beiträge: 1295
Registriert: Fr Jul 28, 2006 9:13 am

Idee zum Sprachübersetzungssystem

Beitrag von miboe »

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
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
admin
Site Admin
Beiträge: 2673
Registriert: Di Feb 10, 2004 5:48 am
Wohnort: Bayreuth

Beitrag von admin »

Bei einzelnen neuen Feldern in bestehenden Tabellen:
P_ADMIN_SCRIPT_FELDER
oder
P_ADMIN_SCRIPT_TABELLEN_MASKEN
bei ganzen Modulen... :D
miboe
Beiträge: 1295
Registriert: Fr Jul 28, 2006 9:13 am

Beitrag von miboe »

Dann habe ich wohl was übersehen :shock:

Werde ich mir dann mal anschauen und prüfen ...

Danke für den Hinweis
Michael
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
Antworten