MS
This commit is contained in:
103
08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.3/2.4.3.sql
Normal file
103
08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.3/2.4.3.sql
Normal file
@@ -0,0 +1,103 @@
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user