ich bin da über eine Ungereimtheit in der Sprachübersetzung gestolpert
In dem Scriptpaket von der Downloadseite gibt es unter anderem das Script
zum Einspielen der Sprachübersetzung mit neuer Struktur und Logik.
Nach Einspielen des Scriptes soll eigentlich nur noch die neue Übersetzung
benutzt werden wodurch die Tabelle A_STRA, A_STRA_KAT und einige andere Prozeduren gelöscht werden könnten.
Macht man das wirklich hat man ein Problem:
Es können keine Drucke mehr erstellt werden. Gut für die Umwelt, schlecht für das Unternehmen.
Die Ursache liegt in der Unit clSM, dort steht unter anderem:
Code: Alles auswählen
constructor TSM.Create(aOwner : TComponent);
begin
FQSelect := TIB_Query.Create(aOwner);
FQSelect.IB_Connection := frmData.IB_Connection1;
FQSelect.SQL.Add('select * from P_SMSelect( :Sprache_ID, ' +
':OwnerName, ' +
':CompName, ' +
':StraKatID) ' );
FQInsert := TIB_Query.Create(aOwner);
FQInsert.IB_Connection := frmData.IB_Connection1;
FQInsert.SQL.Add('Execute Procedure P_SMInsert( :Sprache_ID, ' +
':Strakat_ID, ' +
':OwnerName , ' +
':MaskenKey , ' +
':Dynamisch , ' +
':PropValue ) ' );
FQDelete := TIB_Query.Create(aOwner);
FQDelete.IB_Connection := frmData.IB_Connection1;
FQDelete.SQL.Add('Execute Procedure P_SMDelete( :OwnerName , ' +
':MaskenKey , ' +
':Sprache_ID) ' );
end;
Somit wird die neue Logik nicht konsequent genutzt und die redundanten Tabellen können nicht gelöscht werden.
Eine Redundanz wie sie im Lehrbuch steht.
Als Lösung würden sich anbieten die betroffenen Prozeduren oder die Unit entsprechend anzupassen, wobei ich ersteres vorziehen würde.
Was meint der Meister dazu