2025-06-12 09:09:36 +02:00

653 lines
31 KiB
Transact-SQL

UPDATE TBDD_MODULES SET DB_VERSION = '1.5.4.3' WHERE SHORT_NAME = 'SIG_ENV_CR'
GO
IF NOT EXISTS(SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'TBSIG_RECEIVER'
AND COLUMN_NAME = 'CULTURE')
BEGIN
PRINT 'SPALTE CULTURE EXISTIERT NICHT IN TBSIG_RECEIVER'
ALTER TABLE [dbo].TBSIG_RECEIVER ADD CULTURE VARCHAR(10);
END
GO
IF NOT EXISTS(SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'TBSIG_ENVELOPE'
AND COLUMN_NAME = 'SOURCE')
BEGIN
PRINT 'SPALTE SOURCE EXISTIERT NICHT IN TBSIG_ENVELOPE'
ALTER TABLE [dbo].TBSIG_ENVELOPE ADD SOURCE VARCHAR(10) NOT NULL DEFAULT 'FRONTEND';
END
GO
IF NOT EXISTS(SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'TBSIG_ENVELOPE'
AND COLUMN_NAME = 'COMMENT')
BEGIN
ALTER TABLE [dbo].TBSIG_ENVELOPE ADD COMMENT VARCHAR(128) ;
END
GO
--Changed 23.04.2025 MS Neuer Dokumenten und Withdrawn-Status
ALTER PROCEDURE [dbo].[PRSIG_GET_CLOSED_ENVELOPES_FOR_USER] @pUSRID INT
AS
BEGIN
SELECT * FROM [dbo].[TBSIG_ENVELOPE] WHERE USER_ID = @pUSRID AND STATUS IN (1006,1007,1008,1009,10007,10009) ORDER BY CHANGED_WHEN Desc
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--Changed 12.05.2025 MS Status 3004 when Messages sent
--Changed 09.05.2025 MS Withdrawn nur als Status in History
--Changed 23.04.2025 MS Neuer Dokumenten und Withdrawn-Status
--CHANGED 06.06.2024 MS Status 2007, emailMeldungen integriert
--CHANGED 11.06.2024 MS Status 2007, Cursor für andere REceiver
ALTER TRIGGER [dbo].[TBSIG_ENVELOPE_HISTORY_AFT_INS] ON [dbo].[TBSIG_ENVELOPE_HISTORY]
WITH EXECUTE AS CALLER
FOR INSERT
AS
BEGIN TRY
DECLARE
@GUID BIGINT,
@ENVELOPE_ID INTEGER,
@STATUS INTEGER,
@USER_REFERENCE VARCHAR(100)
SELECT
@GUID = GUID,
@ENVELOPE_ID = ENVELOPE_ID,
@STATUS = STATUS,
@USER_REFERENCE = USER_REFERENCE
FROM INSERTED
PRINT '@USER_REFERENCE: ' + @USER_REFERENCE
PRINT 'STATUS IS: ' + CONVERT(VARCHAR(10),@STATUS)
--PRÜFEN OB ES EIN STATUS VOM WEBCLIENT IST 0 2
IF LEFT(CONVERT(VARCHAR(5),@STATUS),1) = 1
BEGIN
PRINT 'REGULÄRER 1erStatus.. '
IF @STATUS IN (1001, 1002, 1003, 1007, 1008, 1009,10009)
BEGIN
UPDATE TBSIG_ENVELOPE SET STATUS = @STATUS WHERE GUID = @ENVELOPE_ID;
--IF @STATUS In (1009,10009) AND @USER_REFERENCE <> 'API'
-- INSERT INTO TBSIG_ENVELOPE_HISTORY (ENVELOPE_ID,STATUS,ADDED_WHEN,ACTION_DATE) VALUES (@ENVELOPE_ID,3006,GETDATE(),GETDATE()); --MessageWithdrawn/Deleted Sent
END
END
ELSE IF LEFT(CONVERT(VARCHAR(5),@STATUS),1) = 2
BEGIN
IF @STATUS = 2005 /*DOKUMENT SIGINIERT*/
BEGIN
DECLARE @COUNT_SIGNED INT, @COUNT_SIGNERS INT
SELECT @COUNT_SIGNED = COUNT(GUID) FROM TBSIG_ENVELOPE_HISTORY WHERE ENVELOPE_ID = @ENVELOPE_ID AND STATUS = 2005
SELECT @COUNT_SIGNERS = COUNT(REC_ID) FROM VWSIG_ENVELOPE_RECEIVER WHERE ENV_ID = @ENVELOPE_ID
IF @COUNT_SIGNED = @COUNT_SIGNERS
BEGIN
UPDATE TBSIG_ENVELOPE SET STATUS = 1006 WHERE GUID = @ENVELOPE_ID /*FULLY SIGNED*/
INSERT INTO TBSIG_ENVELOPE_HISTORY (ENVELOPE_ID, USER_REFERENCE, STATUS, ACTION_DATE) VALUES (@ENVELOPE_ID, 'System', 1006, DATEADD(second, 5, GETDATE()))
END
ELSE
UPDATE TBSIG_ENVELOPE SET STATUS = 1005 WHERE GUID = @ENVELOPE_ID /*PARTLY SIGNED*/
END
ELSE IF @STATUS = 2007 /*VORGANG DURCH USER ABGELEHNT*/
BEGIN
DECLARE @COMMENT VARCHAR(500),@REC_EMAIL VARCHAR(200),@EML_BODY_ADM VARCHAR(3000),@EML_SUBJ_ADM VARCHAR(3000),@EML_BODY_REC VARCHAR(3000),@EML_SUBJ_REC VARCHAR(3000),
@EML_BODY_REC2 VARCHAR(3000),@EML_SUBJ_REC2 VARCHAR(3000)
,@ADM_MAIL VARCHAR(250),@ADM_NAME VARCHAR(200),@TITLE VARCHAR(200),@NAME_PORTAL VARCHAR(100),@NAME_RECEIVER VARCHAR(150),@SENDING_PROFILE INT,@ENV_UUID VARCHAR(200)
SELECT @COMMENT = COMMENT,@REC_EMAIL = USER_REFERENCE FROM INSERTED
SELECT @NAME_PORTAL = [EXTERNAL_PROGRAM_NAME],@SENDING_PROFILE = SENDING_PROFILE FROM [DD_ECM].[dbo].[TBSIG_CONFIG];
SELECT @EML_BODY_ADM = BODY,@EML_SUBJ_ADM = SUBJECT FROM TBSIG_EMAIL_TEMPLATE WHERE NAME = 'DocumentRejected_ADM'
SELECT @EML_BODY_REC = BODY,@EML_SUBJ_REC = SUBJECT FROM TBSIG_EMAIL_TEMPLATE WHERE NAME = 'DocumentRejected_REC'
SELECT @EML_BODY_REC2 = BODY,@EML_SUBJ_REC2 = SUBJECT FROM TBSIG_EMAIL_TEMPLATE WHERE NAME = 'DocumentRejected_REC_2'
SELECT @ADM_MAIL = USER_EMAIL,@ADM_NAME = USER_PRE_NAME, @TITLE = TITLE,@ENV_UUID = [ENVELOPE_UUID] FROM VWSIG_ENVELOPE_DATA WHERE ENVELOPE_ID = @ENVELOPE_ID
SELECT @NAME_RECEIVER = [NAME] FROM [DD_ECM].[dbo].[VWSIG_ENVELOPE_RECEIVER] where ENV_ID = @ENVELOPE_ID AND REC_EMAIL = @REC_EMAIL
SET @EML_BODY_ADM = REPLACE(@EML_BODY_ADM,'[NAME_SENDER]',@ADM_NAME)
--PRINT '#1' + @EML_BODY_ADM
SET @EML_BODY_ADM = REPLACE(@EML_BODY_ADM,'[NAME_RECEIVER]',@NAME_RECEIVER)
--PRINT '#2' + @EML_BODY_ADM
SET @EML_BODY_ADM = REPLACE(@EML_BODY_ADM,'[DOCUMENT_TITLE]',@TITLE)
--PRINT '#3' + @EML_BODY_ADM
SET @EML_BODY_ADM = REPLACE(@EML_BODY_ADM,'[REASON]',@COMMENT)
--PRINT '#4' + @EML_BODY_ADM
SET @EML_BODY_ADM = REPLACE(@EML_BODY_ADM,'[NAME_PORTAL]',@NAME_PORTAL)
--PRINT @EML_BODY_ADM
SET @EML_SUBJ_ADM = REPLACE(@EML_SUBJ_ADM,'[DOCUMENT_TITLE]',@TITLE)
PRINT 'EMAIL1...'
INSERT INTO [dbo].[TBEMLP_EMAIL_OUT] (EMAIL_ADRESS, EMAIL_SUBJ, EMAIL_BODY, ADDED_WHO, SENDING_PROFILE, REFERENCE_ID, REFERENCE_STRING, REMINDER_TYPE_ID, WF_ID)
VALUES (@ADM_MAIL, @EML_SUBJ_ADM, @EML_BODY_ADM, 'SIG RECEIVER REJECTED1', @SENDING_PROFILE, @ENVELOPE_ID, @ENV_UUID, 202377, @STATUS);
SET @EML_BODY_REC = REPLACE(@EML_BODY_REC,'[NAME_SENDER]',@ADM_NAME)
SET @EML_BODY_REC = REPLACE(@EML_BODY_REC,'[NAME_RECEIVER]',@NAME_RECEIVER)
SET @EML_BODY_REC = REPLACE(@EML_BODY_REC,'[DOCUMENT_TITLE]',@TITLE)
SET @EML_BODY_REC = REPLACE(@EML_BODY_REC,'[REASON]',@COMMENT)
SET @EML_BODY_REC = REPLACE(@EML_BODY_REC,'[NAME_PORTAL]',@NAME_PORTAL)
SET @EML_BODY_REC = REPLACE(@EML_BODY_REC,'[DOCUMENT_TITLE]',@TITLE)
SET @EML_SUBJ_REC = REPLACE(@EML_SUBJ_REC,'[DOCUMENT_TITLE]',@TITLE)
PRINT 'EMAIL2...'
PRINT '@REC_EMAIL: ' + COALESCE(@REC_EMAIL,'IS NULL')
INSERT INTO [dbo].[TBEMLP_EMAIL_OUT] (EMAIL_ADRESS, EMAIL_SUBJ, EMAIL_BODY, ADDED_WHO, SENDING_PROFILE, REFERENCE_ID, REFERENCE_STRING, REMINDER_TYPE_ID, WF_ID)
VALUES (@REC_EMAIL, @EML_SUBJ_REC, @EML_BODY_REC, 'SIG RECEIVER REJECTED2', @SENDING_PROFILE, @ENVELOPE_ID, @ENV_UUID, 202377, @STATUS);
PRINT 'EMAIL2 inserted...'
/*Andere Receiver über die Ablehnung informieren*/
SET @EML_SUBJ_REC2 = REPLACE(@EML_SUBJ_REC2,'[DOCUMENT_TITLE]',@TITLE)
DECLARE @BODY_RECEIVER NVARCHAR(MAX),@EML_RECEIVER2 VARCHAR(250)
DECLARE cursReceiver_TBSIG_ENVELOPE_HISTORY CURSOR FOR
SELECT [NAME], [REC_EMAIL] FROM [DD_ECM].[dbo].[VWSIG_ENVELOPE_RECEIVER] where ENV_ID = @ENVELOPE_ID AND REC_EMAIL <> @REC_EMAIL
OPEN cursReceiver_TBSIG_ENVELOPE_HISTORY
FETCH NEXT FROM cursReceiver_TBSIG_ENVELOPE_HISTORY INTO @NAME_RECEIVER,@EML_RECEIVER2
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT '@EML_BODY_REC2: ' + @EML_BODY_REC2
SET @BODY_RECEIVER = @EML_BODY_REC2
SET @BODY_RECEIVER = REPLACE(@BODY_RECEIVER,'[NAME_SENDER]',@ADM_NAME)
SET @BODY_RECEIVER = REPLACE(@BODY_RECEIVER,'[NAME_RECEIVER]',@NAME_RECEIVER)
SET @BODY_RECEIVER = REPLACE(@BODY_RECEIVER,'[DOCUMENT_TITLE]',@TITLE)
SET @BODY_RECEIVER = REPLACE(@BODY_RECEIVER,'[REASON]',@COMMENT)
SET @BODY_RECEIVER = REPLACE(@BODY_RECEIVER,'[NAME_PORTAL]',@NAME_PORTAL)
SET @BODY_RECEIVER = REPLACE(@BODY_RECEIVER,'[DOCUMENT_TITLE]',@TITLE)
SET @BODY_RECEIVER = REPLACE(@BODY_RECEIVER,'[DOCUMENT_TITLE]',@TITLE)
PRINT 'EMAIL3...'
INSERT INTO [dbo].[TBEMLP_EMAIL_OUT] (EMAIL_ADRESS, EMAIL_SUBJ, EMAIL_BODY, ADDED_WHO, SENDING_PROFILE, REFERENCE_ID, REFERENCE_STRING, REMINDER_TYPE_ID, WF_ID)
VALUES (@EML_RECEIVER2, @EML_SUBJ_REC2, @BODY_RECEIVER, 'SIG RECEIVER REJECTED3', @SENDING_PROFILE, @ENVELOPE_ID, @ENV_UUID, 202377, @STATUS);
FETCH NEXT FROM cursReceiver_TBSIG_ENVELOPE_HISTORY INTO @NAME_RECEIVER,@EML_RECEIVER2
END
CLOSE cursReceiver_TBSIG_ENVELOPE_HISTORY
DEALLOCATE cursReceiver_TBSIG_ENVELOPE_HISTORY
UPDATE TBSIG_ENVELOPE SET STATUS = 10007 WHERE GUID = @ENVELOPE_ID /*Umschlag abgelehnt*/;
INSERT INTO TBSIG_ENVELOPE_HISTORY (ENVELOPE_ID,STATUS,USER_REFERENCE, ADDED_WHEN,ACTION_DATE) VALUES (@ENVELOPE_ID,3004,@USER_REFERENCE,GETDATE(),GETDATE()); --MessageDeletion Sent
END
END
ELSE IF LEFT(CONVERT(VARCHAR(5),@STATUS),1) = 3
IF @STATUS = 3001 /*EMAIL OUT SIGNATUREINLADUNG*/
BEGIN
DECLARE @COUNT_MSG_OUT INT, @COUNT_USERS2_SIGN INT
SELECT @COUNT_MSG_OUT = COUNT(GUID) FROM TBSIG_ENVELOPE_HISTORY WHERE ENVELOPE_ID = @ENVELOPE_ID AND STATUS = 3001
PRINT '@COUNT_MSG_OUT:' + CONVERT(VARCHAR(3),@COUNT_MSG_OUT)
SELECT @COUNT_USERS2_SIGN = COUNT(REC_ID) FROM VWSIG_ENVELOPE_RECEIVER WHERE ENV_ID = @ENVELOPE_ID
PRINT '@@COUNT_USERS2_SIGN:' + CONVERT(VARCHAR(3),@COUNT_USERS2_SIGN)
IF @COUNT_MSG_OUT = @COUNT_USERS2_SIGN
UPDATE TBSIG_ENVELOPE SET STATUS = 1004 WHERE GUID = @ENVELOPE_ID /*ALL INVITATIONS SENT*/
-- INSERT INTO TBSIG_ENVELOPE_HISTORY (ENVELOPE_ID,USER_REFERENCE,STATUS,ACTION_DATE) VALUES (@ENVELOPE_ID,'Digital Data Email-Service',1004,GETDATE())
END
END TRY
BEGIN CATCH
PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ ' - ERROR-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH
GO
INSERT INTO TBDD_SQL_COMMANDS(TITLE,SQL_COMMAND) VALUES ('REPORT ENV ALL_USER_THIS_MONTH','EXEC PRSIG_ADMIN_GET_ALL_ENV_INV_REPORT 0')
GO
INSERT INTO TBDD_SQL_COMMANDS(TITLE,SQL_COMMAND) VALUES ('REPORT ENV ALL_USER_LAST_MONTH','EXEC PRSIG_ADMIN_GET_ALL_ENV_INV_REPORT 1')
GO
DROP VIEW [VWSIG_REPORT_ENVELOPES_OPENED_DELETED]
GO
CREATE VIEW [dbo].[VWSIG_REPORT_ENVELOPES_REJ_WITHDRAWN_SENT] AS
SELECT
DEL.*,CASE DEL.POS_STATUS WHEN 1009 THEN 'Envelope Deleted/Send'
WHEN 10007 THEN 'Envelope Rejected/Send'
WHEN 10009 THEN 'Envelope Withdrawn/Send' END STATUS_STRING
FROM
(SELECT * FROM [DD_ECM].[dbo].[VWSIG_ENVELOPE_REPORT] A where POS_STATUS In (10007,10009,1009)) DEL INNER JOIN -- EnvelopeRejected, EnvelopeWithdrawn, EnvelopeDeleted
(SELECT * FROM [DD_ECM].[dbo].[VWSIG_ENVELOPE_REPORT] A where POS_STATUS = 3001) REQ ON DEL.ENVELOPE_ID = REQ.ENVELOPE_ID --MessageInvitationSend
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--Changed 24.04.2025 MS Neuer View ViewSIG_REPORT_ENVELOPES_REJ_WITHDRAWN_SENT
ALTER PROCEDURE [dbo].[PRSIG_EMAIL_REPORT_MONTHLY_ENVELOPES] AS
BEGIN
Declare @Body VARCHAR(MAX),@AM_FINISHED INT,@AM_SENT_DELETED INT, @Month VARCHAR(100),@SUM_MONTH INT,@CUSTOMER VARCHAR(100),@EML_RECEIPIANTS VARCHAR(500)
SELECT @CUSTOMER = CAT_STRING FROM TBDD_CATALOG WHERE CAT_TITLE = 'SIG_CUSTOMER_NAME';
SELECT @EML_RECEIPIANTS = CAT_STRING FROM TBDD_CATALOG WHERE CAT_TITLE = 'SIG_REPORT_RECEIVER_ENV_MONTHLY';
Declare @SUBJ VARCHAR(250) = 'Verbrauchsmeldung signFLOW - Kunde: ' + @CUSTOMER
SELECT @Month = DATENAME(MONTH, GETDATE() -1)
SET @Body = 'Automatisch erzeugte Email zur Abrechnung signFLOW-Envelopes: <p>'
SET @Body += 'Kunde: <b>' + @CUSTOMER + '</b><p>'
SET @Body += 'Monat: <b>' + @Month + '</b><p>'
SELECT
@AM_FINISHED = COUNT(ENVELOPE_ID)
FROM
[DD_ECM].[dbo].[VWSIG_ENVELOPE_DATA] A --LEFT JOIN TBSIG_REORT_ENV_COUNT B ON A.ENVELOPE_ID = B.ENV_ID
WHERE
envelope_State = 1008 and DATEDIFF(month,CHANGED_WHEN,GETDATE()) = 1
--AND B.GUID IS NULL;
SELECT
@AM_SENT_DELETED = COUNT(ENVELOPE_ID)
FROM
VWSIG_REPORT_ENVELOPES_REJ_WITHDRAWN_SENT A --LEFT JOIN TBSIG_REORT_ENV_COUNT B ON A.ENVELOPE_ID = B.ENV_ID
WHERE
DATEDIFF(month,POS_WHEN,GETDATE()) = 1
--AND B.GUID IS NULL;
INSERT INTO TBSIG_REORT_ENV_COUNT (ENV_ID,MONTH_REPORT)
SELECT ENVELOPE_ID,@Month FROM [DD_ECM].[dbo].[VWSIG_ENVELOPE_DATA] where envelope_State = 1008 and DATEDIFF(month,CHANGED_WHEN,GETDATE()) = 1;
INSERT INTO TBSIG_REORT_ENV_COUNT (ENV_ID,MONTH_REPORT)
SELECT ENVELOPE_ID,@Month FROM VWSIG_REPORT_ENVELOPES_REJ_WITHDRAWN_SENT WHERE DATEDIFF(month,POS_WHEN,GETDATE()) = 1;
SET @SUM_MONTH = @AM_FINISHED + @AM_SENT_DELETED
SET @Body += 'Anzahl final signierte Envelopes: <b>' + Convert(Varchar(5),@AM_FINISHED) + '</b> <br>'
SET @Body += 'Anzahl Gelöschte aber geöffnete Envelopes: <b>' + Convert(Varchar(5),@AM_SENT_DELETED) + '</b> <p>'
SET @Body += 'Summe abrechenbare Envelopes: <b>' + Convert(Varchar(5),@SUM_MONTH) + '</b> <p>'
IF LEN(@EML_RECEIPIANTS) > 0 and @SUM_MONTH > 0
BEGIN
PRINT 'Erzeugend er Emails ...'
EXEC PREMAIL_NEW_EMAIL 1,@EML_RECEIPIANTS,@SUBJ,@Body,'sigFLOW-EnvCount',9000,9000,'signFLOW-EnvelopeCount'
END
ELSE
PRINT 'ES WIRD KEIN REPORT ERZEUGT'
END
GO
CREATE PROCEDURE PRSIG_ADMIN_GET_ALL_ENV_INV_REPORT @pMonthDiffas Integer
AS
BEGIN
DECLARE @MONTH INTEGER,@YEAR INTEGER
SET @MONTH = DATEPART(Month,GETDATE()) - @pMonthDiffas
SET @YEAR = DATEPART(YEAR,GETDATE())
IF @MONTH = 1
BEGIN
SET @YEAR = @YEAR -1
END
BEGIN
SELECT DISTINCT
B.ENVELOPE_ID [Envelope-ID],B.USER_EMAIL [Envelope-Creator], TITLE As [Envelope-Title] , ENVELOPE_STATE [Envelope-State],
CASE ENVELOPE_STATE WHEN 1009 THEN 'Envelope Deleted/Send'
WHEN 10007 THEN 'Envelope Rejected/Send'
WHEN 10009 THEN 'Envelope Withdrawn/Send' END [Envelope-State-Description],
B.CHANGED_WHEN as [Envelope-Changed]
FROM
VWSIG_REPORT_ENVELOPES_REJ_WITHDRAWN_SENT A INNER JOIN
VWSIG_ENVELOPE_DATA B ON A.ENVELOPE_ID = B.ENVELOPE_ID
WHERE
DATEPART(Month,B.CHANGED_WHEN) = @MONTH
AND DATEPART(YEAR,B.CHANGED_WHEN) = @YEAR
UNION
SELECT DISTINCT
B.ENVELOPE_ID [Envelope-ID],B.USER_EMAIL [Envelope-Creator], TITLE As [Envelope-Title] , ENVELOPE_STATE [Envelope-State],
CASE ENVELOPE_STATE WHEN 1008 THEN 'Envelope Comletely signed'
WHEN 10007 THEN 'Envelope Rejected/Send'
WHEN 10009 THEN 'Envelope Withdrawn/Send' END [Envelope-State-Description],
B.CHANGED_WHEN as [Envelope-Changed]
FROM
VWSIG_ENVELOPE_DATA B
WHERE
envelope_State = 1008 AND
DATEPART(Month,B.CHANGED_WHEN) = @MONTH
AND DATEPART(YEAR,B.CHANGED_WHEN) = @YEAR
ORDER BY [Envelope-Changed] DESC
END
END
GO
-- =============================================
-- Author: DD MS
-- Changed 07.05.2025 MS Adding more defaultvalues
-- =============================================
ALTER PROCEDURE [dbo].[PRSIG_API_CREATE_ENVELOPE] @USER_ID INTEGER,
@TITLE VARCHAR(128),
@TFAEnabled BIT,
@MESSAGE VARCHAR(250),
@OUT_UID VARCHAR(36) OUTPUT
AS
BEGIN
DECLARE @UID VARCHAR(36)
SET @OUT_UID = ''
SELECT @UID = NEWID();
INSERT INTO TBSIG_ENVELOPE
(USER_ID,STATUS,ENVELOPE_UUID,MESSAGE,TITLE,TFA_ENABLED,SOURCE,CONTRACT_TYPE,LANGUAGE,USE_ACCESS_CODE,FINAL_EMAIL_TO_CREATOR,FINAL_EMAIL_TO_RECEIVERS,
SEND_REMINDER_EMAILS,FIRST_REMINDER_DAYS,REMINDER_INTERVAL_DAYS,ENVELOPE_TYPE,CERTIFICATION_TYPE)
VALUES
(@USER_ID,1002,@UID,@MESSAGE,@TITLE,CONVERT(BIT,@TFAEnabled),'API',1,'de-DE',1,1,1,
0,0,0,1,1);
IF EXISTS(SELECT GUID FROM TBSIG_ENVELOPE WHERE ENVELOPE_UUID = @UID)
SET @OUT_UID = @UID
PRINT @OUT_UID
END
GO
CREATE OR ALTER PROCEDURE [dbo].[PRSIG_API_CREATE_RECEIVER] @ENV_UID VARCHAR(36),
@EMAIL_ADRESS VARCHAR(250),
@SALUTATION VARCHAR(100),
@PHONE VARCHAR(20),
@OUT_RECEIVER_ID INTEGER OUTPUT
AS
BEGIN
DECLARE
@RECEIVER_ID INTEGER,
@ENV_ID INTEGER,
@SIGNATUREID VARCHAR(64),
@SEQUENCE INTEGER,
@ACCESS_CODE VARCHAR(5)
IF @SALUTATION IS NULL
SET @SALUTATION = 'Bitte unterzeichnen Sie das Dokument/Please sign the document'
IF @PHONE IS NULL OR LEN(@PHONE) < 9
SET @PHONE = ''
SELECT @ENV_ID = GUID FROM TBSIG_ENVELOPE WHERE ENVELOPE_UUID = @ENV_UID;
SET @OUT_RECEIVER_ID = 0
IF NOT EXISTS(SELECT GUID FROM TBSIG_RECEIVER WHERE EMAIL_ADDRESS = @EMAIL_ADRESS)
BEGIN
SELECT @SIGNATUREID = CONVERT(VARCHAR(40), HASHBYTES('SHA1', UPPER(@EMAIL_ADRESS)), 2);
INSERT INTO TBSIG_RECEIVER(EMAIL_ADDRESS,[SIGNATURE]) VALUES (@EMAIL_ADRESS,@SIGNATUREID);
END
SELECT @RECEIVER_ID = GUID FROM TBSIG_RECEIVER WHERE EMAIL_ADDRESS = @EMAIL_ADRESS;
IF EXISTS(SELECT GUID FROM TBSIG_ENVELOPE_RECEIVER WHERE ENVELOPE_ID = @ENV_ID AND RECEIVER_ID = @RECEIVER_ID)
BEGIN
PRINT 'RECEIVER IS ALREADY EXISTING FOR THIS ENVELOPE!'
END
ELSE
BEGIN
SELECT @SEQUENCE = COALESCE(MAX(SEQUENCE),0) FROM TBSIG_ENVELOPE_RECEIVER WHERE ENVELOPE_ID = @ENV_ID;
SELECT @ACCESS_CODE = [dbo].[FNDD_Generate5DigitRandomCode] ();
INSERT INTO TBSIG_ENVELOPE_RECEIVER (ENVELOPE_ID,RECEIVER_ID,SEQUENCE,NAME,ACCESS_CODE,PHONE_NUMBER )
VALUES
(@ENV_ID,@RECEIVER_ID,@SEQUENCE,@SALUTATION,@ACCESS_CODE,@PHONE);
END
SELECT @OUT_RECEIVER_ID = GUID FROM TBSIG_ENVELOPE_RECEIVER WHERE ENVELOPE_ID = @ENV_ID AND RECEIVER_ID = @RECEIVER_ID;
END
GO
-- =============================================
-- Author: DD MS
-- Changed 07.05.2025 MS Wrong sql
-- =============================================
ALTER PROCEDURE [dbo].[PRSIG_API_ADD_DOC] @ENV_UID VARCHAR(36),
@BYTE_DATA VARBINARY(MAX),
@OUT_DOCID INTEGER OUTPUT
AS
BEGIN
DECLARE
@ENV_ID INTEGER
SELECT @ENV_ID = GUID FROM TBSIG_ENVELOPE WHERE ENVELOPE_UUID = @ENV_UID;
SET @OUT_DOCID = 0
IF NOT EXISTS(SELECT GUID FROM TBSIG_ENVELOPE_DOCUMENT WHERE ENVELOPE_ID = @ENV_ID)
INSERT INTO TBSIG_ENVELOPE_DOCUMENT (ENVELOPE_ID,BYTE_DATA,FILENAME,FILEPATH)
VALUES(@ENV_ID,@BYTE_DATA,'API ADD','API BASED');
ELSE
BEGIN
PRINT 'THERE IS ALREADY A DOC FOR THIS ENVELOPE'
END
SELECT @OUT_DOCID = GUID FROM TBSIG_ENVELOPE_DOCUMENT WHERE ENVELOPE_ID = @ENV_ID;
END
GO
CREATE TRIGGER [dbo].[TBSIG_ENVELOPE_AFT_UPD] ON [dbo].TBSIG_ENVELOPE
FOR UPDATE
AS
UPDATE TBSIG_ENVELOPE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBSIG_ENVELOPE.GUID = INSERTED.GUID
GO
-- =============================================
-- Author: DD MS
-- Changed
-- =============================================
CREATE OR ALTER PROCEDURE [dbo].[PRSIG_API_WITHDRAW_ENVELOPE] @ENVELOPE_ID INTEGER,
@REASON VARCHAR(128),
@OUT_RESULT VARCHAR(36) OUTPUT
AS
BEGIN
INSERT INTO TBSIG_ENVELOPE_HISTORY (ENVELOPE_ID,USER_REFERENCE,[STATUS],ADDED_WHEN,ACTION_DATE,COMMENT) VALUES (@ENVELOPE_ID,'API',1009,GETDATE(),GETDATE(),@REASON);
IF EXISTS(SELECT GUID FROM TBSIG_ENVELOPE WHERE STATUS = 1009 AND GUID = @ENVELOPE_ID)
SET @OUT_RESULT = 'Envelope withdrawn'
ELSE
SET @OUT_RESULT = 'Withdrawing not successful'
PRINT @OUT_RESULT
END
GO
--Changed 12.05.2025 MS Status 3004 when Messages sent
--Changed 09.05.2025 MS Withdrawn nur als Status in History
--Changed 23.04.2025 MS Neuer Dokumenten und Withdrawn-Status
--CHANGED 06.06.2024 MS Status 2007, emailMeldungen integriert
--CHANGED 11.06.2024 MS Status 2007, Cursor für andere REceiver
ALTER TRIGGER [dbo].[TBSIG_ENVELOPE_HISTORY_AFT_INS] ON [dbo].[TBSIG_ENVELOPE_HISTORY]
WITH EXECUTE AS CALLER
FOR INSERT
AS
BEGIN TRY
DECLARE
@GUID BIGINT,
@ENVELOPE_ID INTEGER,
@STATUS INTEGER,
@USER_REFERENCE VARCHAR(100)
SELECT
@GUID = GUID,
@ENVELOPE_ID = ENVELOPE_ID,
@STATUS = STATUS,
@USER_REFERENCE = USER_REFERENCE
FROM INSERTED
PRINT '@USER_REFERENCE: ' + @USER_REFERENCE
PRINT 'STATUS IS: ' + CONVERT(VARCHAR(10),@STATUS)
--PRÜFEN OB ES EIN STATUS VOM WEBCLIENT IST 0 2
IF LEFT(CONVERT(VARCHAR(5),@STATUS),1) = 1
BEGIN
PRINT 'REGULÄRER 1erStatus.. '
IF @STATUS IN (1001, 1002, 1003, 1007, 1008, 1009,10009)
BEGIN
UPDATE TBSIG_ENVELOPE SET STATUS = @STATUS WHERE GUID = @ENVELOPE_ID;
--IF @STATUS In (1009,10009) AND @USER_REFERENCE <> 'API'
-- INSERT INTO TBSIG_ENVELOPE_HISTORY (ENVELOPE_ID,STATUS,ADDED_WHEN,ACTION_DATE) VALUES (@ENVELOPE_ID,3006,GETDATE(),GETDATE()); --MessageWithdrawn/Deleted Sent
END
END
ELSE IF LEFT(CONVERT(VARCHAR(5),@STATUS),1) = 2
BEGIN
IF @STATUS = 2005 /*DOKUMENT SIGINIERT*/
BEGIN
DECLARE @COUNT_SIGNED INT, @COUNT_SIGNERS INT
SELECT @COUNT_SIGNED = COUNT(GUID) FROM TBSIG_ENVELOPE_HISTORY WHERE ENVELOPE_ID = @ENVELOPE_ID AND STATUS = 2005
SELECT @COUNT_SIGNERS = COUNT(REC_ID) FROM VWSIG_ENVELOPE_RECEIVER WHERE ENV_ID = @ENVELOPE_ID
IF @COUNT_SIGNED = @COUNT_SIGNERS
BEGIN
UPDATE TBSIG_ENVELOPE SET STATUS = 1006 WHERE GUID = @ENVELOPE_ID /*FULLY SIGNED*/
INSERT INTO TBSIG_ENVELOPE_HISTORY (ENVELOPE_ID, USER_REFERENCE, STATUS, ACTION_DATE) VALUES (@ENVELOPE_ID, 'System', 1006, DATEADD(second, 5, GETDATE()))
END
ELSE
UPDATE TBSIG_ENVELOPE SET STATUS = 1005 WHERE GUID = @ENVELOPE_ID /*PARTLY SIGNED*/
END
ELSE IF @STATUS = 2007 /*VORGANG DURCH USER ABGELEHNT*/
BEGIN
DECLARE @COMMENT VARCHAR(500),@REC_EMAIL VARCHAR(200),@EML_BODY_ADM VARCHAR(3000),@EML_SUBJ_ADM VARCHAR(3000),@EML_BODY_REC VARCHAR(3000),@EML_SUBJ_REC VARCHAR(3000),
@EML_BODY_REC2 VARCHAR(3000),@EML_SUBJ_REC2 VARCHAR(3000)
,@ADM_MAIL VARCHAR(250),@ADM_NAME VARCHAR(200),@TITLE VARCHAR(200),@NAME_PORTAL VARCHAR(100),@NAME_RECEIVER VARCHAR(150),@SENDING_PROFILE INT,@ENV_UUID VARCHAR(200)
SELECT @COMMENT = COMMENT,@REC_EMAIL = USER_REFERENCE FROM INSERTED
SELECT @NAME_PORTAL = [EXTERNAL_PROGRAM_NAME],@SENDING_PROFILE = SENDING_PROFILE FROM [DD_ECM].[dbo].[TBSIG_CONFIG];
SELECT @EML_BODY_ADM = BODY,@EML_SUBJ_ADM = SUBJECT FROM TBSIG_EMAIL_TEMPLATE WHERE NAME = 'DocumentRejected_ADM'
SELECT BODY,SUBJECT FROM TBSIG_EMAIL_TEMPLATE WHERE NAME = 'DocumentRejected_ADM'
SELECT @EML_BODY_REC = BODY,@EML_SUBJ_REC = SUBJECT FROM TBSIG_EMAIL_TEMPLATE WHERE NAME = 'DocumentRejected_REC'
SELECT @EML_BODY_REC2 = BODY,@EML_SUBJ_REC2 = SUBJECT FROM TBSIG_EMAIL_TEMPLATE WHERE NAME = 'DocumentRejected_REC_2'
SELECT @ADM_MAIL = USER_EMAIL,@ADM_NAME = USER_PRE_NAME, @TITLE = TITLE,@ENV_UUID = [ENVELOPE_UUID] FROM VWSIG_ENVELOPE_DATA WHERE ENVELOPE_ID = @ENVELOPE_ID
SELECT @NAME_RECEIVER = [NAME] FROM [DD_ECM].[dbo].[VWSIG_ENVELOPE_RECEIVER] where ENV_ID = @ENVELOPE_ID AND REC_EMAIL = @REC_EMAIL
SET @EML_BODY_ADM = REPLACE(@EML_BODY_ADM,'[NAME_SENDER]',@ADM_NAME)
--PRINT '#1' + @EML_BODY_ADM
SET @EML_BODY_ADM = REPLACE(@EML_BODY_ADM,'[NAME_RECEIVER]',@NAME_RECEIVER)
--PRINT '#2' + @EML_BODY_ADM
SET @EML_BODY_ADM = REPLACE(@EML_BODY_ADM,'[DOCUMENT_TITLE]',@TITLE)
--PRINT '#3' + @EML_BODY_ADM
SET @EML_BODY_ADM = REPLACE(@EML_BODY_ADM,'[REASON]',@COMMENT)
--PRINT '#4' + @EML_BODY_ADM
SET @EML_BODY_ADM = REPLACE(@EML_BODY_ADM,'[NAME_PORTAL]',@NAME_PORTAL)
--PRINT @EML_BODY_ADM
SET @EML_SUBJ_ADM = REPLACE(@EML_SUBJ_ADM,'[DOCUMENT_TITLE]',@TITLE)
PRINT 'EMAIL1...'
INSERT INTO [dbo].[TBEMLP_EMAIL_OUT] (EMAIL_ADRESS, EMAIL_SUBJ, EMAIL_BODY, ADDED_WHO, SENDING_PROFILE, REFERENCE_ID, REFERENCE_STRING, REMINDER_TYPE_ID, WF_ID)
VALUES (@ADM_MAIL, @EML_SUBJ_ADM, @EML_BODY_ADM, 'SIG RECEIVER REJECTED1', @SENDING_PROFILE, @ENVELOPE_ID, @ENV_UUID, 202377, @STATUS);
SET @EML_BODY_REC = REPLACE(@EML_BODY_REC,'[NAME_SENDER]',@ADM_NAME)
SET @EML_BODY_REC = REPLACE(@EML_BODY_REC,'[NAME_RECEIVER]',@NAME_RECEIVER)
SET @EML_BODY_REC = REPLACE(@EML_BODY_REC,'[DOCUMENT_TITLE]',@TITLE)
SET @EML_BODY_REC = REPLACE(@EML_BODY_REC,'[REASON]',@COMMENT)
SET @EML_BODY_REC = REPLACE(@EML_BODY_REC,'[NAME_PORTAL]',@NAME_PORTAL)
SET @EML_BODY_REC = REPLACE(@EML_BODY_REC,'[DOCUMENT_TITLE]',@TITLE)
SET @EML_SUBJ_REC = REPLACE(@EML_SUBJ_REC,'[DOCUMENT_TITLE]',@TITLE)
PRINT 'EMAIL2...'
PRINT '@REC_EMAIL: ' + COALESCE(@REC_EMAIL,'IS NULL')
INSERT INTO [dbo].[TBEMLP_EMAIL_OUT] (EMAIL_ADRESS, EMAIL_SUBJ, EMAIL_BODY, ADDED_WHO, SENDING_PROFILE, REFERENCE_ID, REFERENCE_STRING, REMINDER_TYPE_ID, WF_ID)
VALUES (@REC_EMAIL, @EML_SUBJ_REC, @EML_BODY_REC, 'SIG RECEIVER REJECTED2', @SENDING_PROFILE, @ENVELOPE_ID, @ENV_UUID, 202377, @STATUS);
PRINT 'EMAIL2 inserted...'
/*Andere Receiver über die Ablehnung informieren*/
SET @EML_SUBJ_REC2 = REPLACE(@EML_SUBJ_REC2,'[DOCUMENT_TITLE]',@TITLE)
DECLARE @BODY_RECEIVER NVARCHAR(MAX),@EML_RECEIVER2 VARCHAR(250)
DECLARE cursReceiver_TBSIG_ENVELOPE_HISTORY CURSOR FOR
SELECT [NAME], [REC_EMAIL] FROM [DD_ECM].[dbo].[VWSIG_ENVELOPE_RECEIVER] where ENV_ID = @ENVELOPE_ID AND REC_EMAIL <> @REC_EMAIL
OPEN cursReceiver_TBSIG_ENVELOPE_HISTORY
FETCH NEXT FROM cursReceiver_TBSIG_ENVELOPE_HISTORY INTO @NAME_RECEIVER,@EML_RECEIVER2
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT '@EML_BODY_REC2: ' + @EML_BODY_REC2
SET @BODY_RECEIVER = @EML_BODY_REC2
SET @BODY_RECEIVER = REPLACE(@BODY_RECEIVER,'[NAME_SENDER]',@ADM_NAME)
SET @BODY_RECEIVER = REPLACE(@BODY_RECEIVER,'[NAME_RECEIVER]',@NAME_RECEIVER)
SET @BODY_RECEIVER = REPLACE(@BODY_RECEIVER,'[DOCUMENT_TITLE]',@TITLE)
SET @BODY_RECEIVER = REPLACE(@BODY_RECEIVER,'[REASON]',@COMMENT)
SET @BODY_RECEIVER = REPLACE(@BODY_RECEIVER,'[NAME_PORTAL]',@NAME_PORTAL)
SET @BODY_RECEIVER = REPLACE(@BODY_RECEIVER,'[DOCUMENT_TITLE]',@TITLE)
SET @BODY_RECEIVER = REPLACE(@BODY_RECEIVER,'[DOCUMENT_TITLE]',@TITLE)
PRINT 'EMAIL3...'
INSERT INTO [dbo].[TBEMLP_EMAIL_OUT] (EMAIL_ADRESS, EMAIL_SUBJ, EMAIL_BODY, ADDED_WHO, SENDING_PROFILE, REFERENCE_ID, REFERENCE_STRING, REMINDER_TYPE_ID, WF_ID)
VALUES (@EML_RECEIVER2, @EML_SUBJ_REC2, @BODY_RECEIVER, 'SIG RECEIVER REJECTED3', @SENDING_PROFILE, @ENVELOPE_ID, @ENV_UUID, 202377, @STATUS);
FETCH NEXT FROM cursReceiver_TBSIG_ENVELOPE_HISTORY INTO @NAME_RECEIVER,@EML_RECEIVER2
END
CLOSE cursReceiver_TBSIG_ENVELOPE_HISTORY
DEALLOCATE cursReceiver_TBSIG_ENVELOPE_HISTORY
UPDATE TBSIG_ENVELOPE SET STATUS = 10007 WHERE GUID = @ENVELOPE_ID /*Umschlag abgelehnt*/;
INSERT INTO TBSIG_ENVELOPE_HISTORY (ENVELOPE_ID,STATUS,USER_REFERENCE, ADDED_WHEN,ACTION_DATE) VALUES (@ENVELOPE_ID,3004,@USER_REFERENCE,GETDATE(),GETDATE()); --MessageDeletion Sent
END
END
ELSE IF LEFT(CONVERT(VARCHAR(5),@STATUS),1) = 3
IF @STATUS = 3001 /*EMAIL OUT SIGNATUREINLADUNG*/
BEGIN
DECLARE @COUNT_MSG_OUT INT, @COUNT_USERS2_SIGN INT
SELECT @COUNT_MSG_OUT = COUNT(GUID) FROM TBSIG_ENVELOPE_HISTORY WHERE ENVELOPE_ID = @ENVELOPE_ID AND STATUS = 3001
PRINT '@COUNT_MSG_OUT:' + CONVERT(VARCHAR(3),@COUNT_MSG_OUT)
SELECT @COUNT_USERS2_SIGN = COUNT(REC_ID) FROM VWSIG_ENVELOPE_RECEIVER WHERE ENV_ID = @ENVELOPE_ID
PRINT '@@COUNT_USERS2_SIGN:' + CONVERT(VARCHAR(3),@COUNT_USERS2_SIGN)
IF @COUNT_MSG_OUT = @COUNT_USERS2_SIGN
UPDATE TBSIG_ENVELOPE SET STATUS = 1004 WHERE GUID = @ENVELOPE_ID /*ALL INVITATIONS SENT*/
-- INSERT INTO TBSIG_ENVELOPE_HISTORY (ENVELOPE_ID,USER_REFERENCE,STATUS,ACTION_DATE) VALUES (@ENVELOPE_ID,'Digital Data Email-Service',1004,GETDATE())
END
END TRY
BEGIN CATCH
PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ ' - ERROR-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH
GO
ALTER TRIGGER [dbo].[TBSIG_ENVELOPE_RECEIVER_AFT_UPD] ON [dbo].[TBSIG_ENVELOPE_RECEIVER]
FOR INSERT
AS
BEGIN
DECLARE @ENVELOPE_ID INT,@RECEIVER_ID INT,@ACCESS_CODE NVARCHAR(64)
SELECT
@ENVELOPE_ID = ENVELOPE_ID,
@RECEIVER_ID = RECEIVER_ID,
@ACCESS_CODE = ACCESS_CODE FROM inserted
IF LEN(@ACCESS_CODE) = 0
BEGIN
SELECT @ACCESS_CODE = [dbo].[FNDD_Generate5DigitRandomCode] ();
UPDATE TBSIG_ENVELOPE_RECEIVER SET ACCESS_CODE = @ACCESS_CODE FROM INSERTED
WHERE TBSIG_ENVELOPE_RECEIVER.ENVELOPE_ID = INSERTED.ENVELOPE_ID AND TBSIG_ENVELOPE_RECEIVER.RECEIVER_ID = INSERTED.RECEIVER_ID;
END
UPDATE TBSIG_ENVELOPE_RECEIVER SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBSIG_ENVELOPE_RECEIVER.GUID = INSERTED.GUID
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[PRSIG_DELETE_ENVELOPE_FINALLY_ID] @ENV_GUID INT
AS
DELETE FROM TBSIG_ENVELOPE_CERTIFICATE where ENVELOPE_ID = @ENV_GUID;
DELETE FROM TBSIG_ENVELOPE_DOCUMENT where ENVELOPE_ID = @ENV_GUID;
DELETE FROM TBSIG_ENVELOPE_HISTORY where ENVELOPE_ID = @ENV_GUID;
DELETE FROM TBSIG_ENVELOPE_RECEIVER where ENVELOPE_ID = @ENV_GUID;
DELETE FROM TBSIG_ENVELOPE where GUID = @ENV_GUID;
GO
USE [msdb]
GO
/****** Object: Job [DD_SIG_EVERY_HOUR] Script Date: 08.05.2025 14:43:18 ******/
BEGIN TRANSACTION
DECLARE @ReturnCode INT
SELECT @ReturnCode = 0
/****** Object: JobCategory [[Uncategorized (Local)]] Script Date: 08.05.2025 14:43:18 ******/
IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'[Uncategorized (Local)]' AND category_class=1)
BEGIN
EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'[Uncategorized (Local)]'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
END
DECLARE @jobId BINARY(16)
EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N'DD_SIG_EVERY_HOUR',
@enabled=1,
@notify_level_eventlog=0,
@notify_level_email=0,
@notify_level_netsend=0,
@notify_level_page=0,
@delete_level=0,
@description=N'Es ist keine Beschreibung verfügbar.',
@category_name=N'[Uncategorized (Local)]',
@owner_login_name=N'sa', @job_id = @jobId OUTPUT
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
/****** Object: Step [CLEAN_UP SQLS] Script Date: 08.05.2025 14:43:18 ******/
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'CLEAN_UP SQLS',
@step_id=1,
@cmdexec_success_code=0,
@on_success_action=1,
@on_success_step_id=0,
@on_fail_action=2,
@on_fail_step_id=0,
@retry_attempts=0,
@retry_interval=0,
@os_run_priority=0, @subsystem=N'TSQL',
@command=N'UPDATE TBSIG_RECEIVER SET TOTP_SECRET_KEY = NULL, TFA_REG_DEADLINE = NULL WHERE GUID In (SELECT GUID FROM [DD_ECM].[dbo].[TBSIG_RECEIVER] where TOTP_SECRET_KEY is not null and TFA_REG_DEADLINE >= GETDATE()
AND TFA_REG_DEADLINE < DATEADD(HOUR, 1, GETDATE()));',
@database_name=N'DD_ECM',
@flags=0
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id=@jobId, @name=N'DAILY_PER_HOUR',
@enabled=1,
@freq_type=8,
@freq_interval=62,
@freq_subday_type=8,
@freq_subday_interval=1,
@freq_relative_interval=0,
@freq_recurrence_factor=1,
@active_start_date=20250508,
@active_end_date=99991231,
@active_start_time=600,
@active_end_time=220000,
@schedule_uid=N'10e7e173-d6e0-46d5-b9f0-a2f390076d79'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
COMMIT TRANSACTION
GOTO EndSave
QuitWithRollback:
IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
EndSave:
GO