Zeilenberechnungen taskFLOW, spalten TBPM_RPOFILE_FILES

This commit is contained in:
Developer01
2026-02-12 10:22:54 +01:00
parent 3917c9c675
commit 32abe759cb
4 changed files with 155 additions and 2 deletions

View File

@@ -1,2 +1,130 @@
UPDATE TBDD_BASECONFIG SET DB_VERSION = '2.3.0';
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[TBDD_USER_KEY_VALUE_PAIR](
[PK_USER_KEY_VALUE_PAIR_ID] [bigint] IDENTITY(1,1) NOT NULL,
[FK_USER_ID] [int] NOT NULL,
[MODULE] [nvarchar](50) NOT NULL,
[KEY_NAME] [nvarchar](50) NOT NULL,
[VALUE_TEXT1] [nvarchar](900) NULL,
[VALUE_MAX] [nvarchar](MAX) NULL,
[COMMENT] [nvarchar](50) NULL,
[ADDED_WHEN] [datetime] NOT NULL,
[CHANGED_WHEN] [datetime] NULL,
CONSTRAINT [PK_TBDD_USER_KEY_VALUE_PAIR] PRIMARY KEY CLUSTERED
(
[PK_USER_KEY_VALUE_PAIR_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
-- Unique-Index auf (MODULE, KEY_NAME)
CREATE UNIQUE INDEX UX_TBDD_USER_KEY_VALUE_PAIR_Module_Key
ON dbo.TBDD_USER_KEY_VALUE_PAIR (MODULE, KEY_NAME);
GO
ALTER TABLE [dbo].[TBDD_USER_KEY_VALUE_PAIR] ADD CONSTRAINT [DF_TBDD_USER_KEY_VALUE_PAIR_ADDED_WHEN] DEFAULT (sysdatetime()) FOR [ADDED_WHEN]
GO
ALTER TABLE [dbo].[TBDD_USER_KEY_VALUE_PAIR] WITH CHECK ADD CONSTRAINT [FK_TBDD_USER_KEY_VALUE_PAIR_TBDD_USER] FOREIGN KEY([FK_USER_ID])
REFERENCES [dbo].[TBDD_USER] ([GUID])
GO
ALTER TABLE [dbo].[TBDD_USER_KEY_VALUE_PAIR] CHECK CONSTRAINT [FK_TBDD_USER_KEY_VALUE_PAIR_TBDD_USER]
GO
---------------------------------------------------------------------------------------------------------------------
CREATE OR ALTER TRIGGER [dbo].[TBDD_USER_KEY_VALUE_PAIR_KEY_VALUE_PAIR_AFT_UPD] ON [dbo].[TBDD_USER_KEY_VALUE_PAIR]
FOR UPDATE
AS
BEGIN
UPDATE [TBDD_USER_KEY_VALUE_PAIR]
SET [CHANGED_WHEN] = GETDATE()
FROM [INSERTED]
WHERE [TBDD_USER_KEY_VALUE_PAIR].[PK_USER_KEY_VALUE_PAIR_ID] = [INSERTED].[PK_USER_KEY_VALUE_PAIR_ID]
END
GO
ALTER TABLE [dbo].[TBDD_USER_KEY_VALUE_PAIR] ENABLE TRIGGER [TBDD_USER_KEY_VALUE_PAIR_KEY_VALUE_PAIR_AFT_UPD]
GO
CREATE OR ALTER PROCEDURE [dbo].[PRDD_TBDD_USER_KEY_VALUE_PAIR_Upsert]
@FK_USER_ID INT,
@KEY_NAME NVARCHAR(50),
@ValueText1 NVARCHAR(900),
@Module NVARCHAR(50),
@Out_PK_ID BIGINT OUTPUT -- gibt die betroffene PK zurück
AS
BEGIN
SET NOCOUNT ON;
DECLARE @now DATETIME = GETDATE(); -- statt SYSDATETIME() für Kompatibilität
BEGIN TRY
BEGIN TRAN;
DECLARE @ExistingPK BIGINT;
SELECT @ExistingPK = PK_USER_KEY_VALUE_PAIR_ID
FROM dbo.TBDD_USER_KEY_VALUE_PAIR WITH (UPDLOCK, HOLDLOCK)
WHERE FK_USER_ID = @FK_USER_ID
AND KEY_NAME = @KEY_NAME and MODULE = @Module;
IF @ExistingPK IS NOT NULL
BEGIN
-- UPDATE
UPDATE dbo.TBDD_USER_KEY_VALUE_PAIR
SET VALUE_TEXT1 = @ValueText1,
CHANGED_WHEN = @now
WHERE PK_USER_KEY_VALUE_PAIR_ID = @ExistingPK;
SET @Out_PK_ID = @ExistingPK;
END
ELSE
BEGIN
-- INSERT
INSERT INTO dbo.TBDD_USER_KEY_VALUE_PAIR
(
FK_USER_ID,
KEY_NAME,
MODULE,
VALUE_TEXT1)
VALUES
(
@FK_USER_ID,
@KEY_NAME,
@Module,
@ValueText1
);
SET @Out_PK_ID = CONVERT(BIGINT, SCOPE_IDENTITY());
END
COMMIT TRAN;
END TRY
BEGIN CATCH
IF XACT_STATE() <> 0 ROLLBACK TRAN;
DECLARE
@ErrorNumber INT = ERROR_NUMBER(),
@ErrorSeverity INT = ERROR_SEVERITY(),
@ErrorState INT = ERROR_STATE(),
@ErrorLine INT = ERROR_LINE(),
@ErrorMessage NVARCHAR(4000) = ERROR_MESSAGE(),
@FullMessage NVARCHAR(4000);
-- klassische Verkettung statt CONCAT
SET @FullMessage = N'[PRDD_TBDD_USER_KEY_VALUE_PAIR_Upsert] failed at line '
+ CONVERT(NVARCHAR(10), @ErrorLine)
+ N': '
+ ISNULL(@ErrorMessage, N'');
-- Für ältere SQL Server-Versionen statt THROW:
RAISERROR (@FullMessage, @ErrorSeverity, @ErrorState);
RETURN;
END CATCH
END
GO
GO

View File

@@ -0,0 +1,2 @@
UPDATE TBDD_BASECONFIG SET DB_VERSION = '2.4.0';
GO

View File

@@ -1,4 +1,2 @@
UPDATE TBDD_MODULES SET DB_VERSION = '2.7' where NAME = 'Process-Manager';
GO
ALTER TABLE dbo.TBPM_CONTROL_TABLE
ADD INHERIT_VALUE BIT NOT NULL DEFAULT 0;

View File

@@ -0,0 +1,25 @@
UPDATE TBDD_MODULES SET DB_VERSION = '2.8' where NAME = 'Process-Manager';
GO
ALTER TABLE TBPM_PROFILE_FILES
ADD
WF_STATUS VARCHAR(20) NULL,
WF_TRY_COUNT INT NOT NULL DEFAULT 0,
WF_ERROR_MSG NVARCHAR(4000),
WF_STARTED_AT DATETIME2,
WF_FINISHED_AT DATETIME2;
GO
ALTER TABLE TBPM_PROFILE_FILES
ADD CONSTRAINT DF_TBPM_WF_STATUS
DEFAULT 'OPEN' FOR WF_STATUS;
GO
CREATE INDEX IX_PF_WF_QUEUE
ON TBPM_PROFILE_FILES (WF_STATUS, GUID)
INCLUDE (DOC_ID, PROFIL_ID);
GO
UPDATE TBPM_PROFILE_FILES
SET WF_STATUS = 'DONE'
WHERE WF_STATUS IS NULL;
GO
ALTER TABLE dbo.TBPM_CONTROL_TABLE
ADD FORMULA_EXPRESSION NVARCHAR(1000) NOT NULL DEFAULT '';
GO