You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

121 lines
2.1 KiB

ALTER PROCEDURE PROC_AUTO_APPROVE_TXN_JOB
AS
BEGIN
SET NOCOUNT ON;
SET XACT_ABORT ON;
BEGIN TRY
IF OBJECT_ID('tempdb..#tempTable') IS NOT NULL
DROP TABLE #tempTable;
DECLARE @MinAmt MONEY
DECLARE @tranId BIGINT
,@remarks VARCHAR(100)
,@controlNo VARCHAR(200)
SELECT @MinAmt = detailDesc
FROM staticDataValue
WHERE typeId = '10200'
AND valueId = '11486'
CREATE TABLE #tempTable (
id BIGINT
,controlNo VARCHAR(100)
,amt MONEY
,rowId INT
);
INSERT INTO #tempTable
SELECT id
,controlNo
,cAmt
,rowId = 0
FROM remitTranTemp
WHERE tranStatus = 'Hold'
AND payStatus = 'Unpaid'
AND approvedBy IS NULL
AND tranType IN (
'M'
,'I'
)
AND verifiedBy IS NOT NULL
AND verifiedDate IS NOT NULL
AND ISNULL(sRouteId, 0) IN (
0
,'M'
)
AND cAmt <= @MinAmt
WHILE EXISTS (
SELECT TOP 1 1
FROM #tempTable
WHERE rowId = 0
)
BEGIN
SELECT @tranId = id
,@controlNo = controlNo
FROM #tempTable(NOLOCK)
WHERE rowId = 0
CREATE TABLE #tempApprove (
errorCode VARCHAR(10)
,Msg VARCHAR(MAX)
,Id VARCHAR(50)
)
INSERT INTO #tempApprove (
errorCode
,Msg
,Id
)
EXEC proc_ApproveHoldedTXN @flag = 'approve'
,@user = 'SYSTEM'
,@id = @tranId
SET @remarks = 'Auto approved txn by job having less than ' + CONVERT(VARCHAR(50), @MinAmt) + ' GBP'
IF EXISTS (
SELECT *
FROM #tempApprove
WHERE errorCode = 0
)
BEGIN
INSERT INTO tranModifyLog (
tranId
,controlNo
,message
,createdBy
,createdDate
,MsgType
)
SELECT @tranId
,@controlNo
,@remarks
,'SYSTEM'
,GETDATE()
,'Auto Approved Transaction'
EXEC JobHistoryRecord @flag = 'i'
,@job_name = 'PROC_AUTO_APPROVE_TXN_JOB'
,@job_remarks = 'Auto Approved Txn'
,@job_user = 'SYSTEM'
END
DROP TABLE #tempApprove
UPDATE #temptable
SET rowId = 1
WHERE id = @tranId
END
END TRY
BEGIN CATCH
DECLARE @errorMessage VARCHAR(MAX)
SET @errorMessage = ERROR_MESSAGE()
EXEC proc_errorHandler 1
,@errorMessage
,NULL
END CATCH
END;