ALTER TABLE TBPMO_FORM_CONSTRUCTOR ADD LANGUAGE VARCHAR(5) NOT NULL DEFAULT 'de-DE' GO DROP TABLE TBPMO_CONTROL_LANGUAGE CREATE TABLE TBPMO_CONTROL_LANGUAGE ( GUID INT IDENTITY(1,1), -- Eindeutiger Tabellenschlüssel, LANGUAGE_TYPE VARCHAR(5) NOT NULL, CONTROL_SCREEN_ID INTEGER NOT NULL, CAPTION VARCHAR(100) NOT NULL, HINT VARCHAR(500), ADDED_WHO VARCHAR(50) DEFAULT 'Digital Data' NOT NULL, ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_CONTROL_LANGUAGE PRIMARY KEY(GUID), CONSTRAINT FK_TBPMO_CONTROL_LANGUAGE_CTRLSCR_ID FOREIGN KEY(CONTROL_SCREEN_ID) REFERENCES TBPMO_CONTROL_SCREEN(GUID) ) GO ------------------------------------------------------------------------------ CREATE TRIGGER TBPMO_CONTROL_LANGUAGE_AFT_UPD ON TBPMO_CONTROL_LANGUAGE FOR UPDATE AS BEGIN UPDATE TBPMO_CONTROL_LANGUAGE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_LANGUAGE.GUID = INSERTED.GUID END GO CREATE TABLE TBPMO_LANGUAGE_OBJECT ( GUID INT IDENTITY(1,1), -- Eindeutiger Tabellenschlüssel, LANGUAGE_TYPE VARCHAR(5) NOT NULL, SCREEN_ID INTEGER NOT NULL, PMO_OBJECT_NAME VARCHAR(100) NOT NULL, CAPTION VARCHAR(100) NOT NULL, HINT VARCHAR(500), ADDED_WHO VARCHAR(50) DEFAULT 'Digital Data' NOT NULL, ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_LANGUAGE_OBJECT PRIMARY KEY(GUID), CONSTRAINT FK_TBPMO_LANGUAGE_OBJECT_SCREEN_ID FOREIGN KEY(SCREEN_ID) REFERENCES TBPMO_SCREEN(GUID) ) GO ------------------------------------------------------------------------------ CREATE TRIGGER TBPMO_LANGUAGE_OBJECT_AFT_UPD ON TBPMO_LANGUAGE_OBJECT FOR UPDATE AS BEGIN UPDATE TBPMO_LANGUAGE_OBJECT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_LANGUAGE_OBJECT.GUID = INSERTED.GUID END GO CREATE FUNCTION [dbo].[FNPMO_GETOBJECTCAPTION](@pLANG_TYPE VARCHAR(5), @pOBJ_NAME VARCHAR(100), @pSCREEN_ID INT) RETURNS VARCHAR(100) AS BEGIN DECLARE @PMOOBJ_CAPTION VARCHAR(100) SELECT @PMOOBJ_CAPTION = CAPTION FROM TBPMO_LANGUAGE_OBJECT AS T WHERE T.LANGUAGE_TYPE = @pLANG_TYPE AND T.SCREEN_ID = @pSCREEN_ID AND T.PMO_OBJECT_NAME = @pOBJ_NAME RETURN(ISNULL(@PMOOBJ_CAPTION,'')) END GO ALTER TRIGGER [dbo].[TBPMO_FORM_CONSTRUCTOR_AFT_UPD] ON [dbo].[TBPMO_FORM_CONSTRUCTOR] FOR UPDATE AS BEGIN DECLARE @FORM_TITLE VARCHAR(50), @LANGUAGE VARCHAR(5), @CHANGED_WHO VARCHAR(50), @GUID INTEGER, @PMO_OBJECT_NAME VARCHAR(100) SELECT @GUID = GUID, @FORM_TITLE = FORM_TITLE, @LANGUAGE = [LANGUAGE], @CHANGED_WHO = CHANGED_WHO FROM INSERTED SET @PMO_OBJECT_NAME = 'CONSTR_MENUE' + CONVERT(VARCHAR(5),@GUID) UPDATE TBPMO_FORM_CONSTRUCTOR SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FORM_CONSTRUCTOR.GUID = INSERTED.GUID If exists(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = 1) UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @FORM_TITLE,CHANGED_WHO = @CHANGED_WHO WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = 1 ELSE INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES (@LANGUAGE,1,@PMO_OBJECT_NAME,@FORM_TITLE) END GO