104 lines
3.4 KiB
Transact-SQL
104 lines
3.4 KiB
Transact-SQL
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
|
|
|