IF OBJECT_ID(N'KAAS_CheckHandlerCodeExist', N'P') IS NOT NULL BEGIN DROP PROCEDURE [dbo].[KAAS_CheckHandlerCodeExist] END GO CREATE PROCEDURE [dbo].[KAAS_CheckHandlerCodeExist] (@HandlerCode VARCHAR(10), @Result TINYINT OUTPUT) AS BEGIN /************************************************************************************************************* * * * [dbo].[KAAS_CheckHandlerCodeExist] * * * * Description: This procedure is used to check handler code exists or not * * * * ***************************************************************************************************** * * * * Modification history: * * 2021-06-25 Natarajan S Created * *************************************************************************************************************/ IF EXISTS (SELECT TOP 1 1 FROM [dbo].[Handlers] HAN WHERE HAN.[CODE] = @HandlerCode) BEGIN SET @Result = 1 END ELSE IF EXISTS (SELECT TOP 1 1 FROM [dbo].[HandlerChargeGroups] HCG WHERE HCG.[Code] = @HandlerCode) BEGIN SET @Result = 2 END ELSE BEGIN SET @Result = 0 END END GO IF OBJECT_ID(N'KAAS_CheckIfBatchHExists',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_CheckIfBatchHExists] GO CREATE PROCEDURE [dbo].[KAAS_CheckIfBatchHExists] ( @BatchNo varchar(50) ) AS /******************************************************************************************************* * Check if Batch header exists * * * * Stored Procedure Name : [dbo].[KAAS_CheckIfBatchHExists] * * * * Modification History: * * 2021-06-08 Revathy D Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON IF NOT EXISTS ( SELECT TOP 1 * FROM dbo.[BatchH] WHERE [BatchNo] = @BatchNo ) BEGIN DELETE FROM dbo.[BatchDetails] WHERE [BatchNo] = @BatchNo END SET NOCOUNT OFF END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_CheckSAMClientMoneyLaunderingApproved' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_CheckSAMClientMoneyLaunderingApproved] END GO CREATE PROCEDURE [dbo].[KAAS_CheckSAMClientMoneyLaunderingApproved] ( @ClientCode VARCHAR(10) = '' ) AS /******************************************************************************************************* * * * Stored Procedure Name : [dbo].[KAAS_CheckSAMClientMoneyLaunderingApproved] * * Description: To check specified client marked as approved for money laundering * * * * Modification History: * * 2021-08-31 Balamurugan C Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON SELECT [Code], [Approved] FROM [dbo].[Contacts] WHERE [Code] = @ClientCode SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_CheckSAMClosedMatter',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_CheckSAMClosedMatter] GO CREATE PROCEDURE [dbo].[KAAS_CheckSAMClosedMatter] ( @Code VARCHAR(50) ) AS /******************************************************************************************************* * To get details of closed matter * * * * Stored Procedure Name : [dbo].[KAAS_CheckSAMClosedMatter] * * * * Modification History: * * 2021-08-25 Vinodhkumar M Created * * 2021-09-03 Balamurugan.C Modified -Added Outlay Budget * * 2021-09-17 Balamurugan.C Modified -Added Client Name,Description * *******************************************************************************************************/ BEGIN SELECT [MAT].[Code] AS [Code], [MAT].[ClientCode] AS [ClientCode], [MAT].[Matter] AS [MatterNo], [MAT].[FECode] AS [FECode], [MAT].[Closed] AS [Closed], [MAT].[ClientMin] AS [ClientMin], [MAT].[OutlayBud] AS [OutlayBud], [CON].[Name] AS [Name], [MAT].[Description] AS [Description] FROM [dbo].[matters] [MAT] LEFT JOIN [dbo].[Contacts] [CON] ON [MAT].[ClientCode] = [CON].[Code] WHERE [MAT].[Code] = @Code END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_CheckSAMJournalAllocatedOutlayLimit' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_CheckSAMJournalAllocatedOutlayLimit] END GO CREATE PROCEDURE [dbo].[KAAS_CheckSAMJournalAllocatedOutlayLimit] ( @Matter VARCHAR(20) = '', @JournalAmount DECIMAL = 0 ) AS /******************************************************************************************************* * Fetches the Invoice list * * * * Stored Procedure Name : [dbo].[KAAS_CheckSAMJournalAllocatedOutlayLimit] 'BAR001/0001' * * * * Modification History: * * 05 Oct 2021 Balamurugan C Created * * 06 Oct 2021 Balamurugan C Modified - Added Journal amount in Sum on allocated batch value * * *******************************************************************************************************/ BEGIN DECLARE @AllocationCnt INT = 0, @ValidAllocationCnt INT = 0; IF OBJECT_ID('tempdb..#AllocTempDetails') IS NOT NULL DROP TABLE #AllocTempDetails SELECT [BatchNo], [Matter] INTO #AllocTempDetails FROM [dbo].[DebtorsLedger] WHERE [Matter] = @Matter IF OBJECT_ID('tempdb..#TempBatchDetailsAlloc') IS NOT NULL DROP TABLE #TempBatchDetailsAlloc SELECT [BAD].* INTO #TempBatchDetailsAlloc FROM [dbo].[BatchDetails] [BAD] JOIN #AllocTempDetails [ATD] ON [BAD].[ALLOCBATCH] = [ATD].[BATCHNO] JOIN [dbo].[BatchH] [BAH] ON [BAH].[BATCHNO] = [BAD].[BATCHNO] WHERE [BAD].[Type] = 'J' AND [BAH].POSTED <> 'Y' SET @AllocationCnt = (SELECT COUNT(1) FROM #TempBatchDetailsAlloc) IF(@AllocationCnt > 0) BEGIN SET @ValidAllocationCnt =( SELECT COUNT(1) FROM [dbo].Matters [MAT] WITH (NOLOCK) LEFT OUTER JOIN [dbo].[Contacts] [CON] WITH (NOLOCK) ON [MAT].[ClientCode] = [CON].[Code] WHERE [MAT].[OutlayBal] < 0 AND [MAT].[OutlayBal] + [MAT].[DebtBal] >= 0 AND [MAT].[OutlayBal] < ( SELECT SUM([AllocValue]) + (ISNULL(@JournalAmount,0) * -1) FROM #TempBatchDetailsAlloc ) AND [MAT].[Code] = @Matter ) IF(@ValidAllocationCnt>0) BEGIN SELECT 'Allocation Within Limit' AS ResultValue END ELSE BEGIN SELECT 'Allocation Over Limit' AS ResultValue END END ELSE BEGIN SELECT 'No Allocation Found' as ResultValue END END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_CommonSAMUpdatePosting' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_CommonSAMUpdatePosting] END GO CREATE PROCEDURE [dbo].[KAAS_CommonSAMUpdatePosting] ( @PostedBatchNo INT = 0, @PostedType VARCHAR(1) = '', @IsPostingFwd VARCHAR(1) = '', @HandlerName VARCHAR(20) = '' ) AS /******************************************************************************************************* * Update Posting Logic * * * * Stored Procedure Name : [dbo].[KAAS_CommonSAMUpdatePosting] * * * * Modification History: * * 2021-11-12 Balamurugan C Created * *******************************************************************************************************/ /*SAMPLE DECLARATION*/ --DECLARE -- @PostedBatchNo INT = 401, -- @PostedType VARCHAR(1) = 'B', -- @IsPostingFwd VARCHAR(1) = 'Y', -- @HandlerName VARCHAR(20) = 'admin'; BEGIN BEGIN TRY BEGIN TRAN /* UPDATE POSTING PURCHASE BILLS */ IF(@PostedType = 'B') BEGIN EXEC [dbo].[KAAS_UpdatePostingSAMPurchaseBill] @PostedBatchNo,@PostedType,@IsPostingFwd,@HandlerName END /* UPDATE POSTING BANK TRANSFER */ IF(@PostedType = 'T') BEGIN EXEC [dbo].[KAAS_UpdatePostingSAMBankTransfer] @PostedBatchNo,@PostedType,@IsPostingFwd,@HandlerName END /* UPDATE POSTING MULTI PAYMENT */ IF(@PostedType = 'M') BEGIN EXEC [dbo].[KAAS_UpdatePostingSAMMultiPayment] @PostedBatchNo,@PostedType,@IsPostingFwd,@HandlerName END /* UPDATE POSTING ISSUE INVOICE */ IF(@PostedType = 'I') BEGIN EXEC [dbo].[KAAS_UpdatePostingIssueInvoive] @PostedBatchNo,@PostedType,@IsPostingFwd,@HandlerName END IF(@PostedType IN ('R','P','J')) BEGIN -- /* SELECT BATCH HEADER AND INSERT INTO TABLE VARIBALE*/ DECLARE @tempBatchH TABLE ([BatchNo] [int] NOT NULL, [Type] [char](1) NULL, [Code] [char](10) NULL, [Ref] [char](10) NULL, [Date] [datetime] NULL, [Matter] [varchar](20) NULL, [SubTotal] [decimal](17, 2) NULL, [Supp] [char](10) NULL, [Narr] [char](150) NULL, [Value] [decimal](17, 2) NULL, [CurrencyValue] [decimal](17, 2) NULL, [Posted] [char](1) NULL, [Branch] [varchar](3) NULL, [PerNo] [smallint] NULL, [Year] [smallint] NULL, [EntryDate] [datetime] NULL, [RecNo] [int] NULL, [ChequeReqNo] [int] NULL, [UserCode] [char](8) NULL, [Pref] [int] NULL, [ClientAc] [char](1) NULL, [EFT] [char](1) NOT NULL, [ClientBank] [char](10) NULL, [ThirdParty] [char](1) NULL, [Payee] [char](60) NULL, [EFTSent] [char](1) NOT NULL, [PayClient] [char](1) NOT NULL, [OnceOffPayment] [char](1) NOT NULL, [ClientCode] [varchar](10) NULL, [Feetotal] [decimal](17, 2) NULL, [Outlaytotal] [decimal](17, 2) NULL, [VatTotal] [decimal](17, 2) NULL, [WriteDown] [datetime] NULL, [WriteBackHours] [decimal](7, 2) NULL, [WriteBackValue] [decimal](13, 2) NULL, [CreditInvoiceNo][int] NULL, [Invcr] [char](1) NULL, [Fee] [varchar](10) NULL, [PaymentMethod] [int] NULL, [ClearedDate] [datetime] NULL) INSERT INTO @tempBatchH SELECT [BAH].[BatchNo], RTRIM(ISNULL([BAH].[Type],'')), [BAH].[Code], RTRIM(ISNULL([BAH].[Ref],'')), dbo.KEYHM_FNConvertUTCDateToTargetTimeZone([BAH].[Date], @HandlerName), [BAH].[Matter], [BAH].[SUBTOT], [BAH].[Supp], [BAH].[Narr], [BAH].[Value], [BAH].[CurrencyValue], [BAH].[Posted], [BAH].[Branch], [BAH].[PerNo], [BAH].[Year], dbo.KEYHM_FNConvertUTCDateToTargetTimeZone([BAH].[EntryDate], @HandlerName) AS [EntryDate], [BAH].[RecNo], [BAH].[ChequeReqNo], [BAH].[UserCode], [BAH].[Pref], [BAH].[ClientAc], [BAH].[EFTYorN], [BAH].[CLIENTBANK], [BAH].[ThirdParty], [BAH].[Payee], [BAH].[EFTSent], [BAH].[PayClient], [BAH].[OnceOffPayment], [BAH].[ClientCode], [BAH].[FEETOT], [BAH].[OUTLAYTOT], [BAH].[VATTOT], [BAH].[WRITEDOWN], [BAH].[WRITEBACKHOURS], [BAH].[WRITEBACKVALUE], [BAH].[CREDITINVOICENO], [BAH].[INVCR], [BAH].[FEE], [BAH].[PaymentMethod], [BAH].[ClearedDate] FROM [dbo].[BatchH] [BAH] WHERE [BAH].[BatchNo] = @PostedBatchNo /* SELECT BATCH DETAILS AND INSERT INTO TEMP TABLE VARIBLE*/ DECLARE @tempBatchDetails TABLE ( [BatchNo] [INT] NOT NULL, [Type] [CHAR](1) NULL, [Code] [CHAR](10) NULL, [Pref] [INT] NULL, [Ref] [CHAR](10) NULL, [Date] [DATETIME] NULL, [Fee] [VARCHAR](10) NULL, [Branch] [VARCHAR](3) NULL, [Narr] [CHAR](100) NULL, [Matter] [VARCHAR](20) NULL, [Supp] [CHAR](10) NULL, [Value] [DECIMAL](17, 2) NULL, [VatCode] [CHAR](1) NULL, [VatVal] [DECIMAL](17, 2) NULL, [ClientYN] [CHAR](1) NULL, [Outlay] [CHAR](1) NULL, [Pending] [CHAR](1) NULL, [Year] [SMALLINT] NULL, [PerNo] [SMALLINT] NULL, [EntryCurrency] [CHAR](1) NULL, [CurrencyValue] [DECIMAL](17, 2) NULL, [CurrencyVat] [DECIMAL](17, 2) NULL, [OutlayCode] [CHAR](4) NULL, [ThirdParty] [CHAR](1) NULL, [Payee] [CHAR](60) NULL, [HeadPref] [INT] NULL, [HeadBatch] [INT] NULL, [AllocBatch] [INT] NULL, [AllocPref] [INT] NULL, [AllocRef] [CHAR](10) NULL, [AllocValue] [DECIMAL](17, 2) NULL, [AllocWriteOff] [CHAR](1) NULL, [Psupp] [CHAR](10) NULL, [Undetaking] [SMALLINT] NULL, [CaseAssCode] [VARCHAR](6) NULL, [OnceOffPayment] [CHAR](1) NOT NULL, [PayClient] [CHAR](1) NOT NULL, [ClientCode] [VARCHAR](10) NULL, [EFTemailYorN] [CHAR](1) NOT NULL, [RegisteredPost] [INT] NULL, [PreBilledOutlay] [BIT] NOT NULL, [KeyId] [INT] NOT NULL ) INSERT INTO @tempBatchDetails SELECT [BATCHNO], [TYPE], [CODE], [PREF], [REF], [DATE], [FEE], [BRANCH], [NARR], [MATTER], [SUPP], [VALUE], [VATCODE], [VATVAL], [CLIENTYN], [OUTLAY], [PENDING], [YEAR], [PERNO], [ENTRYCURRENCY], [CURRENCYVALUE], [CURRENCYVAT], [OUTLAYCODE], [THIRDPARTY], [PAYEE], [HEADPREF], [HEADBATCH], [ALLOCBATCH], [ALLOCPREF], [ALLOCREF], [ALLOCVALUE], [ALLOCWRITEOFF], [PSUPP], [UNDETAKING], [CaseAssCode], [OnceOffPayment], [PayClient], [ClientCode], [EFTEmailYorN], [RegisteredPost], [PreBilledOutlay], [KEYID] FROM [dbo].[BatchDetails] WHERE [BATCHNO] = @PostedBatchNo DECLARE @AllocRecordCount INT = 0, @LastAllocNumber INT = 0, @DepositAcct VARCHAR(1) = '', @ThirdParty VARCHAR(1) = '', @VATControlCode VARCHAR(20) = '', @ClientControlCode VARCHAR(20) = '', @CurPer INT = 0; /*FLAG VALUES*/ SET @DepositAcct = (SELECT DISTINCT [NOM].[DEPOSITYN] FROM [dbo].[Nominal] [NOM] JOIN @tempBatchH [TBH] ON RTRIM([NOM].[Code]) = RTRIM([TBH].Code) ) SELECT @ThirdParty = [ThirdParty] FROM @tempBatchH SELECT @VATControlCode = [Vat] FROM [dbo].[Control] SELECT @ClientControlCode = [Client] FROM [dbo].[Control] SELECT @CurPer = [CurPer] FROM [dbo].[Control] /*INSERT INTO MATTER LEDGER TABLE*/ DECLARE @BatchNo INT , @Type VARCHAR(20), @Code VARCHAR(50), @Pref INT, @Ref VARCHAR(10), @Date DATETIME, @Fee VARCHAR(30), @Narr VARCHAR(200), @Matter VARCHAR(10), @Value DECIMAL(18,2), @VatCode VARCHAR(1), @VatVal DECIMAL(18,2), @Outlay VARCHAR(1), @Year INT, @PerNo INT, @EntryCurr VARCHAR(1), @CurrValue DECIMAL(18,2), @CurrVat DECIMAL(18,2), @ClearedDate DATETIME DECLARE batchDetails_Cursor CURSOR FOR SELECT [TBD].[BatchNo], [TBD].[Type], [TBD].[Code], [TBD].[Pref], [TBD].[Ref], [TBD].[Date], [TBD].[Fee], [TBD].[Narr], [TBD].[Matter], [TBD].[Value], [TBD].[VatCode], [TBD].[VatVal], [TBD].[Outlay], [TBD].[Year], [TBD].[PerNo], [TBD].[EntryCurrency], [TBD].[CurrencyValue], [TBD].[CurrencyVat], [TBH].[ClearedDate] FROM @tempBatchDetails [TBD] LEFT JOIN @tempBatchH [TBH] ON [TBH].[BatchNo] = [TBD].[BatchNo] WHERE [Outlay] <> 'N' ORDER BY [KeyId] OPEN batchDetails_Cursor FETCH NEXT FROM batchDetails_Cursor INTO @BatchNo, @Type, @Code, @Pref, @Ref, @Date, @Fee, @Narr, @Matter, @Value, @VatCode, @VatVal, @Outlay, @Year, @PerNo, @EntryCurr, @CurrValue, @CurrVat, @ClearedDate WHILE @@FETCH_STATUS = 0 BEGIN IF(@PostedType = 'R') BEGIN INSERT INTO [dbo].[MatterLedger] ( [Matter], [BatchNo], [Pref], [Date], [Ref], [Narr], [ValueD], [ValueO], [ValueC], [Fee], [Per], [Year], [EntryDate], [Client], [ValueCC], [ValueCD], [DepositType], [CurValueD], [CurValueO], [CurValueC], [CurValueCC], [CurValueCD], [Billed], [BillingYear], [BillingPeriod], [BillingDate], [BilledOutlayValue], [InvoiceNo], [IncludeInBill], [ClearedDate] ) VALUES ( @Matter ,@BatchNo ,@Pref ,@Date ,@Ref ,@Narr ,0.00 ,0.00 ,@Value ,@Fee ,@PerNo ,@Year ,@Date ,SUBSTRING(@Matter, 1, 6) ,0.00 ,@Value ,'DR' ,0.00 ,0.00 ,@CurrValue ,0.00 ,@CurrValue ,'' ,0 ,0 ,null ,0.00 ,0 ,0 ,@ClearedDate ), ( @Matter ,@BatchNo ,@Pref ,@Date ,@Ref ,@Narr ,CASE WHEN @Outlay='D' THEN @Value*-1 ELSE 0.00 END ,CASE WHEN @Outlay='O' THEN @Value*-1 ELSE 0.00 END ,0.00 ,@Fee ,@PerNo ,@Year ,@Date ,SUBSTRING(@Matter, 1, 6) ,0.00 ,0.00 ,'' ,CASE WHEN @Outlay='D' THEN @CurrValue*-1 ELSE 0.00 END ,CASE WHEN @Outlay='O' THEN @CurrValue*-1 ELSE 0.00 END ,0.00 ,0.00 ,0.00 ,'' ,0 ,0 ,null ,0.00 ,0 ,0 ,@ClearedDate ) END ELSE BEGIN INSERT INTO [dbo].[MatterLedger] ( [Matter], [BatchNo], [Pref], [Date], [Ref], [Narr], [ValueD], [ValueO], [ValueC], [Fee], [Per], [Year], [EntryDate], [Client], [ValueCC], [ValueCD], [DepositType], [CurValueD], [CurValueO], [CurValueC], [CurValueCC], [CurValueCD], [Billed], [BillingYear], [BillingPeriod], [BillingDate], [BilledOutlayValue], [InvoiceNo], [IncludeInBill], [ClearedDate] ) VALUES ( @Matter ,@BatchNo ,@Pref ,@Date ,@Ref ,@Narr ,CASE WHEN @Outlay='D' AND @PostedType='J' THEN @Value WHEN @Outlay='D' AND @PostedType='P' THEN ISNULL(@Value - @VatVal,0) ELSE 0.00 END --[ValueD] ,CASE WHEN @Outlay='O' AND @PostedType='J' THEN @Value WHEN @Outlay='O' AND @PostedType='P' THEN ISNULL(@Value - @VatVal,0) ELSE 0.00 END --[ValueO] ,CASE WHEN @Outlay='C' AND @PostedType='J' THEN @Value ELSE 0.00 END --[ValueC] ,@Fee ,@PerNo ,@Year ,@Date ,SUBSTRING(@Matter, 1, 6) ,CASE WHEN @Outlay='C' AND @PostedType='J' AND @DepositAcct<>'Y' THEN @Value WHEN @Outlay='C' AND @PostedType='P' AND @DepositAcct='Y' THEN 0.00 WHEN @Outlay='C' AND @PostedType='P' AND @DepositAcct<>'Y' THEN ISNULL(@Value - @VatVal,0) ELSE 0.00 END --[ValueCC] ,CASE WHEN @Outlay='C' AND @PostedType='J' AND @DepositAcct='Y' THEN @Value WHEN @Outlay='C' AND @PostedType='P' AND @DepositAcct<>'Y' THEN 0.00 WHEN @Outlay='C' AND @PostedType='P' AND @DepositAcct='Y' THEN ISNULL(@Value - @VatVal,0) ELSE 0.00 END --[ValueCD] ,'' ,CASE WHEN @Outlay='D' AND @PostedType='J' THEN @CurrValue WHEN @Outlay='D' AND @PostedType='P' THEN ISNULL(@CurrValue - @CurrVat,0) ELSE 0.00 END --[CurValueD] ,CASE WHEN @Outlay='O' AND @PostedType='J' THEN @CurrValue WHEN @Outlay='O' AND @PostedType='P' THEN ISNULL(@CurrValue - @CurrVat,0) ELSE 0.00 END --[CurValueO] ,CASE WHEN @Outlay='C' AND @PostedType='J' THEN @CurrValue ELSE 0.00 END --[CurValueC] ,CASE WHEN @Outlay='C' AND @PostedType='J' AND @DepositAcct<>'Y' THEN @CurrValue WHEN @Outlay='C' AND @PostedType='P' AND @DepositAcct='Y' THEN 0.00 WHEN @Outlay='C' AND @PostedType='P' AND @DepositAcct<>'Y' THEN ISNULL(@CurrValue - @CurrVat,0) ELSE 0.00 END --[CurValueCC] ,CASE WHEN @Outlay='C' AND @PostedType='J' AND @DepositAcct='Y' THEN @CurrValue WHEN @Outlay='C' AND @PostedType='P' AND @DepositAcct<>'Y' THEN 0.00 WHEN @Outlay='C' AND @PostedType='P' AND @DepositAcct='Y' THEN ISNULL(@CurrValue - @CurrVat,0) ELSE 0.00 END ---[CurValueCD] ,'' ,0 ,0 ,null ,0.00 ,0 ,0 ,@ClearedDate ) END FETCH NEXT FROM batchDetails_Cursor INTO @BatchNo, @Type, @Code, @Pref, @Ref, @Date, @Fee, @Narr, @Matter, @Value, @VatCode, @VatVal, @Outlay, @Year, @PerNo, @EntryCurr, @CurrValue, @CurrVat, @ClearedDate END CLOSE batchDetails_Cursor; DEALLOCATE batchDetails_Cursor; /*INSERT INTO DEBTORS LEDGER TABLE*/ INSERT INTO [dbo].[DebtorsLedger] ( [Matter], [Type], [Client], [Date], [Ref], [BatchNo], [Pref], [Narr], [Original], [OsValue], [OrFees], [OrOutlay], [OrVat], [OsFees], [OsOutlay], [OsVat], [VatCode], [Per], [Year], [FeeCode], [ClearedDate] ) ( SELECT [TBD].[Matter], [TBD].[Type], SUBSTRING([TBD].[Matter], 1, 6) AS [Client], [TBD].[Date], [TBD].[Ref], [TBD].[BatchNo], [TBD].[Pref], [TBD].[Narr], [TBD].[Value] * -1 AS [Original], CASE WHEN ALLOCBATCH=0 THEN [TBD].[Value] * -1 ELSE 0.00 END AS [OsValue], 0.00 AS [OrFees], 0.00 AS [OrOutlay], 0.00 AS [OrVat], 0.00 AS [OsFees], 0.00 AS [OsOutlay], 0.00 AS [OsVat], [TBD].[VatCode] AS [VatCode], [TBD].[PerNo] AS [Per], [TBD].[Year], [TBD].[Fee], [TBH].[ClearedDate] FROM @tempBatchDetails [TBD] LEFT JOIN @tempBatchH [TBH] ON [TBH].[BatchNo]=[TBD].[BatchNo] WHERE [TBD].[Outlay]='D' ) /*INSERT INTO NOMINAL LEDGER -BATCH HEADER */ IF(@PostedType IN ('R','P')) BEGIN INSERT INTO [dbo].[NominalLedger] ( [Code], [Branch], [BatchNo], [Pref], [Date], [Ref], [Narr], [Matter], [Supp], [Fee], [Value], [CurrencyValue], [Per], [Year], [EntryDate], [RecNo], [ClearedDate] ) ( SELECT [TBH].[Code], [TBH].[Branch], [TBH].[BatchNo], [TBH].[Pref], [TBH].[Date], [TBH].[Ref], [TBH].[Narr], [TBH].[Matter], [TBH].[Supp], [TBH].[Fee], CASE WHEN @PostedType='R' THEN [TBH].[Value] WHEN @PostedType='P' THEN [TBH].[Value] * -1 ELSE [TBH].[Value] END, CASE WHEN @PostedType='R' THEN [TBH].[CurrencyValue] WHEN @PostedType='P' THEN [TBH].[CurrencyValue] * -1 ELSE [TBH].[CurrencyValue] END, [TBH].[PerNo], [TBH].[Year], [TBH].[EntryDate], [TBH].[RecNo], [TBH].[ClearedDate] FROM @tempBatchH [TBH] ) /*INSERT INTO NOMINAL LEDGER -BATCH HEADER - TRANSFER CLIENT */ IF(ISNULL(@ThirdParty,'') = 'Y' AND @PostedType='R') BEGIN INSERT INTO [dbo].[NominalLedger] ( [Code], [Branch], [BatchNo], [Pref], [Date], [Ref], [Narr], [Matter], [Supp], [Fee], [Value], [CurrencyValue], [Per], [Year], [EntryDate], [RecNo], [ClearedDate] ) ( SELECT [TBH].[ClientBank], [TBH].[Branch], [TBH].[BatchNo], [TBH].[Pref], [TBH].[Date], [TBH].[Ref], [TBH].[Narr], [TBH].[Matter], [TBH].[Supp], [TBH].[Fee], ISNULL([TBH].[Value],0) * -1 AS [Value], ISNULL([TBH].[CurrencyValue],0) * -1 AS [CurrencyValue], [TBH].[PerNo], [TBH].[Year], [TBH].[EntryDate], [TBH].[RecNo], [TBH].[ClearedDate] FROM @tempBatchH [TBH] ) END /*INSERT INTO NOMINAL LEDGER - BATCH DETAILS WITH CORRESSPONDING VAT CODE ENTRY*/ DECLARE @tempNominalLedger TABLE ( [Code] VARCHAR(10) NULL, [Branch] VARCHAR(3) NULL, [BatchNo] INT NULL, [Pref] INT NULL, [Date] DATETIME NULL, [Ref] VARCHAR(10) NULL, [Narr] VARCHAR(100) NULL, [Matter] VARCHAR(20) NULL, [Supp] VARCHAR(10) NULL, [Fee] VARCHAR(10) NULL, [Value] DECIMAL(17,2) NULL, [CurrencyValue] DECIMAL(17,2) NULL, [Per] SMALLINT NULL, [Year] SMALLINT NULL, [EntryDate] DATETIME NULL, [RecNo] INT NULL, [ClearedDate] DATETIME NULL, [VatCode] VARCHAR(20) NULL, [VatCodeValue] DECIMAL(17,2) NULL, [VatCodeCurrencyVat] DECIMAL(17,2) NULL ) INSERT INTO @tempNominalLedger SELECT [TBD].CODE, [TBD].BRANCH, [TBD].BATCHNO, [TBD].PREF, [TBD].[DATE], [TBD].REF, [TBD].NARR, [TBD].MATTER, [TBD].SUPP, [TBD].FEE, CASE WHEN @PostedType='R' THEN ISNULL([TBD].[VALUE] - [TBD].[VATVAL],0) * -1 WHEN @PostedType='P' THEN ISNULL([TBD].[VALUE] - [TBD].[VATVAL],0) ELSE 0.00 END AS [Value] , CASE WHEN @PostedType='R' THEN ISNULL([TBD].[CURRENCYVALUE] - [TBD].[CURRENCYVAT],0)*-1 WHEN @PostedType='P' THEN ISNULL([TBD].[CURRENCYVALUE] - [TBD].[CURRENCYVAT],0) ELSE 0.00 END AS [CurrencyValue], [TBD].PERNO, [TBD].[YEAR], [TBH].[EntryDate], [TBH].RecNo, [TBH].[ClearedDate], @VATControlCode AS [VatCode], CASE WHEN @PostedType='R' THEN ISNULL(VatVal,0) * -1 WHEN @PostedType='P' THEN ISNULL(VatVal,0) ELSE 0.00 END AS [VatCodeValue], CASE WHEN @PostedType='R' THEN ISNULL(CurrencyVat,0) * -1 WHEN @PostedType='P' THEN ISNULL(CurrencyVat,0) ELSE 0.00 END AS [VatCodeCurrencyVat] FROM @tempBatchDetails [TBD] LEFT JOIN @tempBatchH [TBH] ON [TBH].[BatchNo]=[TBD].[BatchNo] INSERT INTO [dbo].[NominalLedger] ( [Code], [Branch], [BatchNo], [Pref], [Date], [Ref], [Narr], [Matter], [Supp], [Fee], [Value], [CurrencyValue], [Per], [Year], [EntryDate], [RecNo], [ClearedDate] ) ( SELECT CA.Code, CA.Branch, CA.BatchNo, CA.Pref, CA.[Date], CA.Ref, CA.Narr, CA.Matter, CA.Supp, CA.Fee, CA.[Value], CA.[CurrencyValue], CA.Per, CA.[Year], CA.[EntryDate], CA.RecNo, CA.ClearedDate FROM @tempNominalLedger CROSS APPLY ( VALUES (Code,BatchNo,Branch,Pref,[Date],Ref,Narr,Matter,Supp,Fee,[Value],[CurrencyValue],Per,[Year],[EntryDate],RecNo,ClearedDate), (VATCode,BatchNo,Branch,Pref,[Date],Ref,Narr,Matter,Supp,Fee,VatCodeValue,VatCodeCurrencyVat,Per,[Year],[EntryDate],RecNo,ClearedDate) ) AS CA (Code,BatchNo,Branch,Pref,[Date],Ref,Narr,Matter,Supp,Fee,[Value],[CurrencyValue],Per,[Year],[EntryDate],RecNo,ClearedDate) ) END /*UPDATE NOMINAL HEADER FOR DETAILS LINES*/ UPDATE [NOM] SET [NOM].[Balance] = CASE WHEN @PostedType='R' THEN ISNULL([NOM].[Balance],0)+(([TBD].[Value]-[TBD].[VatVal])*-1) WHEN @PostedType='P' THEN ISNULL([NOM].[Balance],0)+(([TBD].[Value]-[TBD].[VatVal])) ELSE 0.00 END, [NOM].[CurrencyBal] = CASE WHEN @PostedType='R' THEN ISNULL([NOM].[CurrencyBal],0)+(([TBD].[CurrencyValue]-[TBD].[CurrencyVAT])*-1) WHEN @PostedType='P' THEN ISNULL([NOM].[CurrencyBal],0)+(([TBD].[CurrencyValue]-[TBD].[CurrencyVAT])) ELSE 0.00 END, [NOM].[BalanceFwd] = CASE WHEN @IsPostingFwd='Y' AND @PostedType='R' THEN ISNULL([NOM].[BalanceFwd],0)+(([TBD].[Value]-[TBD].[VatVal])*-1) WHEN @IsPostingFwd='Y' AND @PostedType='P' THEN ISNULL([NOM].[BalanceFwd],0)+(([TBD].[Value]-[TBD].[VatVal])) ELSE ISNULL([NOM].[BalanceFwd],0) END, [NOM].[CurrencyBalFwd] = CASE WHEN @IsPostingFwd='Y' AND @PostedType='R' THEN ISNULL([NOM].[CurrencyBalFwd],0)+(([TBD].[CurrencyValue]-[TBD].[CurrencyVAT])*-1) WHEN @IsPostingFwd='Y' AND @PostedType='P' THEN ISNULL([NOM].[CurrencyBalFwd],0)+(([TBD].[CurrencyValue]-[TBD].[CurrencyVAT])) ELSE ISNULL([NOM].[CurrencyBalFwd],0) END, [NOM].[Month1] = CASE WHEN @CurPer = 1 AND @IsPostingFwd<>'Y' AND @PostedType = 'R' THEN [NOM].[Month1]+(([TBD].[Value]-[TBD].[VatVal])*-1) WHEN @CurPer = 1 AND @IsPostingFwd<>'Y' AND @PostedType = 'P' THEN [NOM].[Month1]+(([TBD].[Value]-[TBD].[VatVal])) ELSE [NOM].[Month1] END, [NOM].[Month2] = CASE WHEN @CurPer = 2 AND @IsPostingFwd<>'Y' AND @PostedType = 'R' THEN [NOM].[Month2]+(([TBD].[Value]-[TBD].[VatVal])*-1) WHEN @CurPer = 2 AND @IsPostingFwd<>'Y' AND @PostedType = 'P' THEN [NOM].[Month2]+(([TBD].[Value]-[TBD].[VatVal])) ELSE [NOM].[Month2] END, [NOM].[Month3] = CASE WHEN @CurPer = 3 AND @IsPostingFwd<>'Y' AND @PostedType = 'R' THEN [NOM].[Month3]+(([TBD].[Value]-[TBD].[VatVal])*-1) WHEN @CurPer = 3 AND @IsPostingFwd<>'Y' AND @PostedType = 'P' THEN [NOM].[Month3]+(([TBD].[Value]-[TBD].[VatVal])) ELSE [NOM].[Month3] END, [NOM].[Month4] = CASE WHEN @CurPer = 4 AND @IsPostingFwd<>'Y' AND @PostedType = 'R' THEN [NOM].[Month4]+(([TBD].[Value]-[TBD].[VatVal])*-1) WHEN @CurPer = 4 AND @IsPostingFwd<>'Y' AND @PostedType = 'P' THEN [NOM].[Month4]+(([TBD].[Value]-[TBD].[VatVal])) ELSE [NOM].[Month4] END, [NOM].[Month5] = CASE WHEN @CurPer = 5 AND @IsPostingFwd<>'Y' AND @PostedType = 'R' THEN [NOM].[Month5]+(([TBD].[Value]-[TBD].[VatVal])*-1) WHEN @CurPer = 5 AND @IsPostingFwd<>'Y' AND @PostedType = 'P' THEN [NOM].[Month5]+(([TBD].[Value]-[TBD].[VatVal])) ELSE [NOM].[Month5] END, [NOM].[Month6] = CASE WHEN @CurPer = 6 AND @IsPostingFwd<>'Y' AND @PostedType = 'R' THEN [NOM].[Month6]+(([TBD].[Value]-[TBD].[VatVal])*-1) WHEN @CurPer = 6 AND @IsPostingFwd<>'Y' AND @PostedType = 'P' THEN [NOM].[Month6]+(([TBD].[Value]-[TBD].[VatVal])) ELSE [NOM].[Month6] END, [NOM].[Month7] = CASE WHEN @CurPer = 7 AND @IsPostingFwd<>'Y' AND @PostedType = 'R' THEN [NOM].[Month7]+(([TBD].[Value]-[TBD].[VatVal])*-1) WHEN @CurPer = 7 AND @IsPostingFwd<>'Y' AND @PostedType = 'P' THEN [NOM].[Month7]+(([TBD].[Value]-[TBD].[VatVal])) ELSE [NOM].[Month7] END, [NOM].[Month8] = CASE WHEN @CurPer = 8 AND @IsPostingFwd<>'Y' AND @PostedType = 'R' THEN [NOM].[Month8]+(([TBD].[Value]-[TBD].[VatVal])*-1) WHEN @CurPer = 8 AND @IsPostingFwd<>'Y' AND @PostedType = 'P' THEN [NOM].[Month8]+(([TBD].[Value]-[TBD].[VatVal])) ELSE [NOM].[Month8] END, [NOM].[Month9] = CASE WHEN @CurPer = 9 AND @IsPostingFwd<>'Y' AND @PostedType = 'R' THEN [NOM].[Month9]+(([TBD].[Value]-[TBD].[VatVal])*-1) WHEN @CurPer = 9 AND @IsPostingFwd<>'Y' AND @PostedType = 'P' THEN [NOM].[Month8]+(([TBD].[Value]-[TBD].[VatVal])) ELSE [NOM].[Month9] END, [NOM].[Month10] = CASE WHEN @CurPer = 10 AND @IsPostingFwd<>'Y' AND @PostedType = 'R' THEN [NOM].[Month10]+(([TBD].[Value]-[TBD].[VatVal])*-1) WHEN @CurPer = 10 AND @IsPostingFwd<>'Y' AND @PostedType = 'P' THEN [NOM].[Month10]+(([TBD].[Value]-[TBD].[VatVal])) ELSE [NOM].[Month10] END, [NOM].[Month11] = CASE WHEN @CurPer = 11 AND @IsPostingFwd<>'Y' AND @PostedType = 'R' THEN [NOM].[Month11]+(([TBD].[Value]-[TBD].[VatVal])*-1) WHEN @CurPer = 11 AND @IsPostingFwd<>'Y' AND @PostedType = 'P' THEN [NOM].[Month11]+(([TBD].[Value]-[TBD].[VatVal])) ELSE [NOM].[Month11] END, [NOM].[Month12] = CASE WHEN @CurPer = 11 AND @IsPostingFwd<>'Y' AND @PostedType = 'R' THEN [NOM].[Month12]+(([TBD].[Value]-[TBD].[VatVal])*-1) WHEN @CurPer = 12 AND @IsPostingFwd<>'Y' AND @PostedType = 'P' THEN [NOM].[Month12]+(([TBD].[Value]-[TBD].[VatVal])) ELSE [NOM].[Month12] END FROM [dbo].[Nominal] [NOM] JOIN @tempBatchDetails [TBD] ON [NOM].[Code] = [TBD].[Code] /*UPDATE NOMINAL HEADER FOR VAT UPDATE*/ UPDATE [NOM] SET [NOM].[Balance] = CASE WHEN @PostedType='R' THEN ISNULL([NOM].[Balance],0)+([TBD].[VatVal]*-1) WHEN @PostedType='P' THEN ISNULL([NOM].[Balance],0)+([TBD].[VatVal]) ELSE 0.00 END, [NOM].[CurrencyBal] = CASE WHEN @PostedType='R' THEN ISNULL([NOM].[CurrencyBal],0)+([TBD].[CurrencyVat]*-1) WHEN @PostedType='P' THEN ISNULL([NOM].[CurrencyBal],0)+([TBD].[CurrencyVat]) ELSE 0.00 END , [NOM].[BalanceFwd] = CASE WHEN @IsPostingFwd='Y' AND @PostedType='R' THEN ISNULL([NOM].[BalanceFwd],0)+([TBD].[VatVal]*-1) WHEN @IsPostingFwd='Y' AND @PostedType='P' THEN ISNULL([NOM].[BalanceFwd],0)+([TBD].[VatVal]) ELSE ISNULL([NOM].[BalanceFwd],0) END, [NOM].[CurrencyBalFwd] = CASE WHEN @IsPostingFwd='Y' AND @PostedType='R' THEN ISNULL([NOM].[CurrencyBalFwd],0)+([TBD].[CurrencyVat]*-1) WHEN @IsPostingFwd='Y' AND @PostedType='P' THEN ISNULL([NOM].[CurrencyBalFwd],0)+([TBD].[CurrencyVat]) ELSE ISNULL([NOM].[CurrencyBalFwd],0) END, [NOM].[Month1] = CASE WHEN @CurPer = 1 AND @IsPostingFwd<>'Y' AND @PostedType = 'R' THEN [NOM].[Month1]+(([TBD].[VatVal])*-1) WHEN @CurPer = 1 AND @IsPostingFwd<>'Y' AND @PostedType = 'P' THEN [NOM].[Month1]+(([TBD].[VatVal])) ELSE [NOM].[Month1] END, [NOM].[Month2] = CASE WHEN @CurPer = 2 AND @IsPostingFwd<>'Y' AND @PostedType = 'R' THEN [NOM].[Month2]+(([TBD].[VatVal])*-1) WHEN @CurPer = 2 AND @IsPostingFwd<>'Y' AND @PostedType = 'P' THEN [NOM].[Month2]+(([TBD].[VatVal])) ELSE [NOM].[Month2] END, [NOM].[Month3] = CASE WHEN @CurPer = 3 AND @IsPostingFwd<>'Y' AND @PostedType = 'R' THEN [NOM].[Month3]+(([TBD].[VatVal])*-1) WHEN @CurPer = 3 AND @IsPostingFwd<>'Y' AND @PostedType = 'P' THEN [NOM].[Month3]+(([TBD].[VatVal])) ELSE [NOM].[Month3] END, [NOM].[Month4] = CASE WHEN @CurPer = 4 AND @IsPostingFwd<>'Y' AND @PostedType = 'R' THEN [NOM].[Month4]+(([TBD].[VatVal])*-1) WHEN @CurPer = 4 AND @IsPostingFwd<>'Y' AND @PostedType = 'P' THEN [NOM].[Month4]+(([TBD].[VatVal])) ELSE [NOM].[Month4] END, [NOM].[Month5] = CASE WHEN @CurPer = 5 AND @IsPostingFwd<>'Y' AND @PostedType = 'R' THEN [NOM].[Month5]+(([TBD].[VatVal])*-1) WHEN @CurPer = 5 AND @IsPostingFwd<>'Y' AND @PostedType = 'P' THEN [NOM].[Month5]+(([TBD].[VatVal])) ELSE [NOM].[Month5] END, [NOM].[Month6] = CASE WHEN @CurPer = 6 AND @IsPostingFwd<>'Y' AND @PostedType = 'R' THEN [NOM].[Month6]+(([TBD].[VatVal])*-1) WHEN @CurPer = 6 AND @IsPostingFwd<>'Y' AND @PostedType = 'P' THEN [NOM].[Month6]+(([TBD].[VatVal])) ELSE [NOM].[Month6] END, [NOM].[Month7] = CASE WHEN @CurPer = 7 AND @IsPostingFwd<>'Y' AND @PostedType = 'R' THEN [NOM].[Month7]+(([TBD].[VatVal])*-1) WHEN @CurPer = 7 AND @IsPostingFwd<>'Y' AND @PostedType = 'P' THEN [NOM].[Month7]+(([TBD].[VatVal])) ELSE [NOM].[Month7] END, [NOM].[Month8] = CASE WHEN @CurPer = 8 AND @IsPostingFwd<>'Y' AND @PostedType = 'R' THEN [NOM].[Month8]+(([TBD].[VatVal])*-1) WHEN @CurPer = 8 AND @IsPostingFwd<>'Y' AND @PostedType = 'P' THEN [NOM].[Month8]+(([TBD].[VatVal])) ELSE [NOM].[Month8] END, [NOM].[Month9] = CASE WHEN @CurPer = 9 AND @IsPostingFwd<>'Y' AND @PostedType = 'R' THEN [NOM].[Month9]+(([TBD].[VatVal])*-1) WHEN @CurPer = 9 AND @IsPostingFwd<>'Y' AND @PostedType = 'P' THEN [NOM].[Month9]+(([TBD].[VatVal])) ELSE [NOM].[Month9] END, [NOM].[Month10] = CASE WHEN @CurPer = 10 AND @IsPostingFwd<>'Y' AND @PostedType = 'R' THEN [NOM].[Month10]+(([TBD].[VatVal])*-1) WHEN @CurPer = 10 AND @IsPostingFwd<>'Y' AND @PostedType = 'P' THEN [NOM].[Month10]+(([TBD].[VatVal])) ELSE [NOM].[Month10] END, [NOM].[Month11] = CASE WHEN @CurPer = 11 AND @IsPostingFwd<>'Y' AND @PostedType = 'R' THEN [NOM].[Month11]+(([TBD].[VatVal])*-1) WHEN @CurPer = 11 AND @IsPostingFwd<>'Y' AND @PostedType = 'P' THEN [NOM].[Month11]+(([TBD].[VatVal])) ELSE [NOM].[Month11] END, [NOM].[Month12] = CASE WHEN @CurPer = 11 AND @IsPostingFwd<>'Y' AND @PostedType = 'R' THEN [NOM].[Month12]+(([TBD].[VatVal])*-1) WHEN @CurPer = 12 AND @IsPostingFwd<>'Y' AND @PostedType = 'P' THEN [NOM].[Month12]+(([TBD].[VatVal])) ELSE [NOM].[Month12] END FROM [dbo].[Nominal] [NOM] JOIN @tempBatchDetails [TBD] ON [NOM].[Code] = @VATControlCode /*TRANSFER CLIENT NOMINAL INSERT - THIRDPARTY*/ IF( (ISNULL(@ThirdParty,'') = 'Y' AND @PostedType='R') OR @PostedType='J' ) BEGIN INSERT INTO [dbo].[NominalLedger] ( [Code], [Branch], [BatchNo], [Pref], [Date], [Ref], [Narr], [Matter], [Supp], [Fee], [Value], [CurrencyValue], [Per], [Year], [EntryDate], [RecNo], [ClearedDate] ) ( SELECT CASE WHEN @PostedType='R' THEN @ClientControlCode ELSE [TBD].[Code] END, [TBD].[Branch], [TBD].[BatchNo], [TBD].[Pref], [TBD].[Date], [TBD].[Ref], [TBD].[Narr], [TBD].[Matter], [TBD].[Supp], [TBD].[Fee], [TBD].[Value], [TBD].[CurrencyValue], [TBD].[PerNo], [TBD].[Year], [TBH].[EntryDate], [TBH].[RecNo], [TBH].[ClearedDate] FROM @tempBatchDetails [TBD] INNER JOIN @tempBatchH [TBH] ON [TBH].[BatchNo]=[TBD].[BatchNo] ) /*Update Nominal Client Ledger Control for Client A/c Transfer*/ UPDATE [NOM] SET [NOM].[Balance] = ISNULL([NOM].[Balance],0)+([TBD].[Value]), [NOM].[CurrencyBal] = ISNULL([NOM].[CurrencyBal],0)+([TBD].[CurrencyValue]), [NOM].[BalanceFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([NOM].[BalanceFwd],0)+([TBD].[Value]) ELSE ISNULL([NOM].[BalanceFwd],0) END, [NOM].[CurrencyBalFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([NOM].[CurrencyBalFwd],0)+([TBD].[CurrencyVat]) ELSE ISNULL([NOM].[CurrencyBalFwd],0) END, [NOM].[Month1] = CASE WHEN @CurPer = 1 AND @IsPostingFwd<>'Y' THEN [NOM].[Month1]+([TBD].[Value]) ELSE [NOM].[Month1] END, [NOM].[Month2] = CASE WHEN @CurPer = 2 AND @IsPostingFwd<>'Y' THEN [NOM].[Month2]+([TBD].[Value]) ELSE [NOM].[Month2] END, [NOM].[Month3] = CASE WHEN @CurPer = 3 AND @IsPostingFwd<>'Y' THEN [NOM].[Month3]+([TBD].[Value]) ELSE [NOM].[Month3] END, [NOM].[Month4] = CASE WHEN @CurPer = 4 AND @IsPostingFwd<>'Y' THEN [NOM].[Month4]+([TBD].[Value]) ELSE [NOM].[Month4] END, [NOM].[Month5] = CASE WHEN @CurPer = 5 AND @IsPostingFwd<>'Y' THEN [NOM].[Month5]+([TBD].[Value]) ELSE [NOM].[Month5] END, [NOM].[Month6] = CASE WHEN @CurPer = 6 AND @IsPostingFwd<>'Y' THEN [NOM].[Month6]+([TBD].[Value]) ELSE [NOM].[Month6] END, [NOM].[Month7] = CASE WHEN @CurPer = 7 AND @IsPostingFwd<>'Y' THEN [NOM].[Month7]+([TBD].[Value]) ELSE [NOM].[Month7] END, [NOM].[Month8] = CASE WHEN @CurPer = 8 AND @IsPostingFwd<>'Y' THEN [NOM].[Month8]+([TBD].[Value]) ELSE [NOM].[Month8] END, [NOM].[Month9] = CASE WHEN @CurPer = 9 AND @IsPostingFwd<>'Y' THEN [NOM].[Month9]+([TBD].[Value]) ELSE [NOM].[Month9] END, [NOM].[Month10] = CASE WHEN @CurPer = 10 AND @IsPostingFwd<>'Y' THEN [NOM].[Month10]+([TBD].[Value]) ELSE [NOM].[Month10] END, [NOM].[Month11] = CASE WHEN @CurPer = 11 AND @IsPostingFwd<>'Y' THEN [NOM].[Month11]+([TBD].[Value]) ELSE [NOM].[Month11] END, [NOM].[Month12] = CASE WHEN @CurPer = 11 AND @IsPostingFwd<>'Y' THEN [NOM].[Month12]+([TBD].[Value]) ELSE [NOM].[Month12] END FROM [dbo].[Nominal] [NOM] JOIN @tempBatchDetails [TBD] ON [NOM].[Code] = CASE WHEN @PostedType='R' THEN @ClientControlCode ELSE [TBD].[Code] END END /*UPDATE CONTACT TABLE FOR DEBTORS*/ UPDATE [CON] SET [CON].[BillBal] = [CON].[BillBal] + ISNULL([TBD].[Value],0), [CON].[CurBillBal] = [CON].[CurBillBal] + ISNULL([TBD].[Value],0) FROM [dbo].[Contacts] [CON] INNER JOIN @tempBatchDetails [TBD] ON [CON].[Code] = SUBSTRING([TBD].[Matter], 1, 6) WHERE [TBD].[Outlay] = 'D' /*UPDATE MATTER TABLE FOR DEBTORS - RECEIPT */ IF(@PostedType='R') BEGIN UPDATE [MAT] SET [MAT].[DEBTBAL] = ISNULL([MAT].[DEBTBAL],0) - ISNULL([TBD].[Value],0), [MAT].[CurDebtBal] = ISNULL([MAT].[CurDebtBal],0) + ISNULL([TBD].[CurrencyValue] * -1,0), [MAT].[DebtBalFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([MAT].[DebtBalFwd],0) - ISNULL([TBD].[Value],0) ELSE ISNULL([MAT].[DebtBalFwd],0) END, [MAT].[CurDebtBalFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([MAT].[CurDebtBalFwd],0) + ISNULL([TBD].[CurrencyValue] * -1,0) ELSE ISNULL([MAT].[CurDebtBalFwd],0) END FROM [dbo].[matters] [MAT] INNER JOIN @tempBatchDetails [TBD] ON [MAT].[Code] = [TBD].[Matter] WHERE [TBD].[Outlay] = 'D' END /*UPDATE MATTER TABLE FOR DEBTORS - JOURNAL */ IF(@PostedType='J') BEGIN UPDATE [MAT] SET [MAT].[DEBTBAL] = ISNULL([MAT].[DEBTBAL],0) + ISNULL([TBD].[Value],0), [MAT].[CurDebtBal] = ISNULL([MAT].[CurDebtBal],0) + ISNULL([TBD].[CurrencyValue],0) FROM [dbo].[matters] [MAT] INNER JOIN @tempBatchDetails [TBD] ON [MAT].[Code] = [TBD].[Matter] WHERE [TBD].[Outlay] = 'D' END /*UPDATE CONTACT TABLE FOR OUTLAY - RECEIPT*/ IF(@PostedType='R') BEGIN UPDATE [CON] SET [CON].[OutlayBal] = ISNULL([CON].[OutlayBal],0) + ISNULL([TBD].[Value],0), [CON].[CurOutlayBal] = ISNULL([CON].[CurOutlayBal],0) + ISNULL([TBD].[CurrencyValue],0) FROM [dbo].[Contacts] [CON] INNER JOIN @tempBatchDetails [TBD] ON [CON].[Code] = SUBSTRING([TBD].[Matter], 1, 6) INNER JOIN @tempBatchH [TBH] ON [TBH].[BatchNo]=[TBD].[BatchNo] WHERE [TBD].[Outlay] = 'O' END /*UPDATE CONTACT TABLE FOR OUTLAY - PAYMENT*/ IF(@PostedType='P') BEGIN UPDATE [CON] SET [CON].[OutlayBal] = ISNULL([CON].[OutlayBal],0) + ISNULL([TBD].[Value] - [TBD].[VatVal],0), [CON].[CurOutlayBal] = ISNULL([CON].[CurOutlayBal],0) + ISNULL([TBD].[CurrencyValue] - [TBD].[CurrencyVat],0) FROM [dbo].[Contacts] [CON] INNER JOIN @tempBatchDetails [TBD] ON [CON].[Code] = SUBSTRING([TBD].[Matter], 1, 6) INNER JOIN @tempBatchH [TBH] ON [TBH].[BatchNo]=[TBD].[BatchNo] WHERE [TBD].[Outlay] = 'O' END /*UPDATE MATTER TABLE FOR OUTLAY - RECEIPT */ IF(@PostedType='R') BEGIN UPDATE [MAT] SET [MAT].[OutlayBal] = ISNULL([MAT].[OutlayBal],0) - ISNULL([TBD].[Value],0), [MAT].[CurOutlayBal] = ISNULL([MAT].[CurOutlayBal],0) + ISNULL([TBD].[CurrencyValue] * -1,0), [MAT].[OutlayBalFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([MAT].[OutlayBalFwd],0) - ISNULL([TBD].[Value],0) ELSE [MAT].[OutlayBalFwd] END, [MAT].[CurOutlayBalFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([MAT].[CurOutlayBalFwd],0) + ISNULL([TBD].[CurrencyValue] * -1,0) ELSE [MAT].[CurOutlayBalFwd] END FROM [dbo].[matters] [MAT] INNER JOIN @tempBatchDetails [TBD] ON [MAT].[Code] = [TBD].[Matter] WHERE [TBD].[Outlay] = 'O' END /*UPDATE MATTER TABLE FOR OUTLAY - RECEIPT */ IF(@PostedType='J') BEGIN UPDATE [MAT] SET [MAT].[OutlayBal] = ISNULL([MAT].[OutlayBal],0) + ISNULL([TBD].[Value],0), [MAT].[CurOutlayBal] = ISNULL([MAT].[CurOutlayBal],0) + ISNULL([TBD].[CurrencyValue],0) FROM [dbo].[matters] [MAT] INNER JOIN @tempBatchDetails [TBD] ON [MAT].[Code] = [TBD].[Matter] WHERE [TBD].[Outlay] = 'O' END /*UPDATE MATTER TABLE FOR OUTLAY - PAYMENT */ IF(@PostedType='P') BEGIN UPDATE [MAT] SET [MAT].[OutlayBal] = ISNULL([MAT].[OutlayBal],0) + ISNULL([TBD].[Value] - [TBD].[VatVal],0), [MAT].[CurOutlayBal] = ISNULL([MAT].[CurOutlayBal],0) + ISNULL([TBD].[CurrencyValue] - [TBD].[CurrencyVat] ,0), [MAT].[OutlayBalFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([MAT].[OutlayBalFwd],0) + ISNULL([TBD].[Value] - [TBD].[VatVal],0) ELSE [MAT].[OutlayBalFwd] END, [MAT].[CurOutlayBalFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([MAT].[CurOutlayBalFwd],0) + ISNULL([TBD].[CurrencyValue] - [TBD].[CurrencyVat],0) ELSE [MAT].[CurOutlayBalFwd] END FROM [dbo].[matters] [MAT] INNER JOIN @tempBatchDetails [TBD] ON [MAT].[Code] = [TBD].[Matter] WHERE [TBD].[Outlay] = 'O' END /*UPDATE CONTACT TABLE FOR CLIENT - RECEIPT*/ IF(@PostedType='R') BEGIN UPDATE [CON] SET [CON].[ClientDep] = CASE WHEN @DepositAcct='Y' THEN ISNULL([CON].[ClientDep],0) + ISNULL([TBD].[Value] * -1,0) ELSE ISNULL([CON].[ClientDep],0) END, [CON].[CurClientDBal] = CASE WHEN @DepositAcct='Y' THEN ISNULL([CON].[CurClientDBal],0) + ISNULL([TBD].[CurrencyValue] * -1,0) ELSE ISNULL([CON].[CurClientDBal],0) END, [CON].[ClientCur] = CASE WHEN @DepositAcct<>'Y' THEN ISNULL([CON].[ClientCur],0) + ISNULL([TBD].[Value] * -1,0) ELSE ISNULL([CON].[ClientCur],0) END, [CON].[CurClientCBal] = CASE WHEN @DepositAcct<>'Y' THEN ISNULL([CON].[CurClientCBal],0) + ISNULL([TBD].[CurrencyValue] * -1,0) ELSE ISNULL([CON].[CurClientCBal],0) END FROM [dbo].[Contacts] [CON] INNER JOIN @tempBatchDetails [TBD] ON [CON].[Code] = SUBSTRING([TBD].[Matter], 1, 6) WHERE [TBD].[Outlay] = 'C' END /*UPDATE CONTACT TABLE FOR CLIENT - PAYMENT*/ IF(@PostedType='P') BEGIN UPDATE [CON] SET [CON].[ClientDep] = CASE WHEN @DepositAcct='Y' THEN ISNULL([CON].[ClientDep],0) + ISNULL([TBD].[Value] - [TBD].[VatVal],0) ELSE ISNULL([CON].[ClientDep],0) END, [CON].[CurClientDBal] = CASE WHEN @DepositAcct='Y' THEN ISNULL([CON].[CurClientDBal],0) + ISNULL([TBD].[CurrencyValue] - [TBD].[CurrencyVat],0) ELSE ISNULL([CON].[CurClientDBal],0) END, [CON].[ClientCur] = CASE WHEN @DepositAcct<>'Y' THEN ISNULL([CON].[ClientCur],0) + ISNULL([TBD].[Value] - [TBD].[VatVal],0) ELSE ISNULL([CON].[ClientCur],0) END, [CON].[CurClientCBal] = CASE WHEN @DepositAcct<>'Y' THEN ISNULL([CON].[CurClientCBal],0) + ISNULL([TBD].[CurrencyValue] - [TBD].[CurrencyVat],0) ELSE ISNULL([CON].[CurClientCBal],0) END FROM [dbo].[Contacts] [CON] INNER JOIN @tempBatchDetails [TBD] ON [CON].[Code] = SUBSTRING([TBD].[Matter], 1, 6) WHERE [TBD].[Outlay] = 'C' END /*UPDATE CONTACT TABLE FOR CLIENT - TRANSFER FROM CLIENT*/ IF(@ThirdParty='Y') BEGIN UPDATE [CON] SET [CON].[ClientDep] = CASE WHEN @DepositAcct='Y' THEN ISNULL([CON].[ClientDep],0) + ISNULL([TBD].[Value],0) ELSE ISNULL([CON].[ClientDep],0) END, [CON].[CurClientDBal] = CASE WHEN @DepositAcct='Y' THEN ISNULL([CON].[CurClientDBal],0) + ISNULL([TBD].[CurrencyValue],0) ELSE ISNULL([CON].[CurClientDBal],0) END, [CON].[ClientCur] = CASE WHEN @DepositAcct<>'Y' THEN ISNULL([CON].[ClientCur],0) + ISNULL([TBD].[Value],0) ELSE ISNULL([CON].[ClientCur],0) END, [CON].[CurClientCBal] = CASE WHEN @DepositAcct<>'Y' THEN ISNULL([CON].[CurClientCBal],0) + ISNULL([TBD].[CurrencyValue],0) ELSE ISNULL([CON].[CurClientCBal],0) END FROM [dbo].[Contacts] [CON] INNER JOIN @tempBatchDetails [TBD] ON [CON].[Code] = SUBSTRING([TBD].[Matter], 1, 6) WHERE [TBD].[Outlay] = 'C' END /*UPDATE MATTER TABLE FOR CLIENT - RECEIPT */ IF(@PostedType='R') BEGIN UPDATE [MAT] SET [MAT].[ClientBal] = ISNULL([MAT].[ClientBal],0) - ISNULL([TBD].[Value],0), [MAT].[ClientBalFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([MAT].[ClientBalFwd],0) - ISNULL([TBD].[Value],0) ELSE [MAT].[ClientBalFwd] END, [MAT].[CurClientBal] = ISNULL([MAT].[CurClientBal],0) + ISNULL([TBD].[CurrencyValue] * -1,0), [MAT].[CurClientBalFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([MAT].[CurClientBalFwd],0) + ISNULL([TBD].[CurrencyValue] * -1,0) ELSE [MAT].[CurClientBalFwd] END, [MAT].[ClientDepBal] = CASE WHEN @DepositAcct='Y' THEN ISNULL([MAT].[ClientDepBal],0) - ISNULL([TBD].[Value],0) ELSE [MAT].[ClientDepBal] END, [MAT].[ClientDepBalFwd] = CASE WHEN @DepositAcct='Y' AND @IsPostingFwd='Y' THEN ISNULL([MAT].[ClientDepBalFwd],0) - ISNULL([TBD].[Value],0) ELSE [MAT].[ClientDepBalFwd] END, [MAT].[ClientCurBal] = CASE WHEN @DepositAcct<>'Y' THEN ISNULL([MAT].[ClientCurBal],0) + ISNULL([TBD].[CurrencyValue] * -1,0) ELSE [MAT].[ClientCurBal] END, [MAT].[ClientCurBalFwd] = CASE WHEN @DepositAcct<>'Y' AND @IsPostingFwd='Y' THEN ISNULL([MAT].[ClientCurBalFwd],0) + ISNULL([TBD].[CurrencyValue] * -1,0) ELSE [MAT].[ClientCurBalFwd] END FROM [dbo].[matters] [MAT] INNER JOIN @tempBatchDetails [TBD] ON [MAT].[Code] = [TBD].[Matter] WHERE [TBD].[Outlay] = 'C' END /*UPDATE MATTER TABLE FOR CLIENT - RECEIPT */ IF(@PostedType='P') BEGIN UPDATE [MAT] SET [MAT].[ClientBal] = ISNULL([MAT].[ClientBal],0) + ISNULL([TBD].[Value] - [TBD].[VatVal],0), [MAT].[ClientBalFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([MAT].[ClientBalFwd],0) + ISNULL([TBD].[Value] - [TBD].[VatVal],0) ELSE [MAT].[ClientBalFwd] END, [MAT].[CurClientBal] = ISNULL([MAT].[CurClientBal],0) + ISNULL([TBD].[CurrencyValue] - [TBD].[CurrencyVat],0), [MAT].[CurClientBalFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([MAT].[CurClientBalFwd],0) + ISNULL([TBD].[CurrencyValue] - [TBD].[CurrencyVat],0) ELSE [MAT].[CurClientBalFwd] END, [MAT].[ClientDepBal] = CASE WHEN @DepositAcct='Y' THEN ISNULL([MAT].[ClientDepBal],0) + ISNULL([TBD].[Value] - [TBD].[VatVal],0) ELSE [MAT].[ClientDepBal] END, [MAT].[CurClientDBal] = CASE WHEN @DepositAcct='Y' THEN ISNULL([MAT].[CurClientDBal],0) + ISNULL([TBD].[Value] - [TBD].[VatVal],0) ELSE [MAT].[CurClientDBal] END, [MAT].[ClientDepBalFwd] = CASE WHEN @DepositAcct='Y' AND @IsPostingFwd='Y' THEN ISNULL([MAT].[ClientDepBalFwd],0) + ISNULL([TBD].[Value] - [TBD].[VatVal],0) ELSE [MAT].[ClientDepBalFwd] END, [MAT].[CurClientDBalFwd] = CASE WHEN @DepositAcct='Y' AND @IsPostingFwd='Y' THEN ISNULL([MAT].[CurClientDBalFwd],0) + ISNULL([TBD].[Value] - [TBD].[VatVal],0) ELSE [MAT].[CurClientDBalFwd] END, [MAT].[ClientCurBal] = CASE WHEN @DepositAcct<>'Y' THEN ISNULL([MAT].[ClientCurBal],0) + ISNULL([TBD].[CurrencyValue] - [TBD].[CurrencyVat],0) ELSE [MAT].[ClientCurBal] END, [MAT].[CurClientCBal] = CASE WHEN @DepositAcct<>'Y' THEN ISNULL([MAT].[CurClientCBal],0) + ISNULL([TBD].[CurrencyValue] - [TBD].[CurrencyVat],0) ELSE [MAT].[CurClientCBal] END, [MAT].[ClientCurBalFwd] = CASE WHEN @DepositAcct<>'Y' AND @IsPostingFwd='Y' THEN ISNULL([MAT].[ClientCurBalFwd],0) + ISNULL([TBD].[CurrencyValue] - [TBD].[CurrencyVat],0) ELSE [MAT].[ClientCurBalFwd] END, [MAT].[CurClientCBalFwd] = CASE WHEN @DepositAcct<>'Y' AND @IsPostingFwd='Y' THEN ISNULL([MAT].[CurClientCBalFwd],0) + ISNULL([TBD].[CurrencyValue] - [TBD].[CurrencyVat],0) ELSE [MAT].[CurClientCBalFwd] END FROM [dbo].[matters] [MAT] INNER JOIN @tempBatchDetails [TBD] ON [MAT].[Code] = [TBD].[Matter] WHERE [TBD].[Outlay] = 'C' END /*UPDATE MATTER TABLE FOR CLIENT - JOURNAL */ IF(@PostedType='J') BEGIN UPDATE [MAT] SET [MAT].[ClientBal] = ISNULL([MAT].[ClientBal],0) + ISNULL([TBD].[Value],0), [MAT].[CurClientBal] = ISNULL([MAT].[CurClientBal],0) + ISNULL([TBD].[CurrencyValue],0), [MAT].[ClientDepBal] = CASE WHEN @DepositAcct='Y' THEN ISNULL([MAT].[ClientDepBal],0) + ISNULL([TBD].[Value],0) ELSE [MAT].[ClientDepBal] END, [MAT].[CurClientDBal] = CASE WHEN @DepositAcct='Y' THEN ISNULL([MAT].[CurClientDBal],0) + ISNULL([TBD].[CurrencyValue],0) ELSE [MAT].[CurClientDBal] END, [MAT].[ClientCurBal] = CASE WHEN @DepositAcct<>'Y' THEN ISNULL([MAT].[ClientCurBal],0) + ISNULL([TBD].[CurrencyValue],0) ELSE [MAT].[ClientCurBal] END, [MAT].[CurClientCBal] = CASE WHEN @DepositAcct<>'Y' THEN ISNULL([MAT].[CurClientCBal],0) + ISNULL([TBD].[CurrencyValue],0) ELSE [MAT].[CurClientCBal] END FROM [dbo].[matters] [MAT] INNER JOIN @tempBatchDetails [TBD] ON [MAT].[Code] = [TBD].[Matter] WHERE [TBD].[Outlay] = 'C' END /* UPDATE MATTER TABLE FOR CLIENT (TRANSFER FROM CLIENT ACCOUNT) */ IF(@ThirdParty='Y') BEGIN UPDATE [MAT] SET [MAT].[ClientBal] = ISNULL([MAT].[ClientBal],0) + ISNULL([TBD].[Value],0), [MAT].[ClientBalFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([MAT].[ClientBalFwd],0) + ISNULL([TBD].[Value],0) ELSE [MAT].[ClientBalFwd] END, [MAT].[CurClientBal] = ISNULL([MAT].[CurClientBal],0) + ISNULL([TBD].[CurrencyValue],0), [MAT].[CurClientBalFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([MAT].[CurClientBalFwd],0) + ISNULL([TBD].[CurrencyValue],0) ELSE [MAT].[CurClientBalFwd] END, [MAT].[ClientDepBal] = CASE WHEN @DepositAcct='Y' THEN ISNULL([MAT].[ClientDepBal],0) + ISNULL([TBD].[Value],0) ELSE [MAT].[ClientDepBal] END, [MAT].[CurClientDBal] = CASE WHEN @DepositAcct='Y' THEN ISNULL([MAT].[CurClientDBal],0) + ISNULL([TBD].[CurrencyValue],0) ELSE [MAT].[CurClientDBal] END, [MAT].[ClientCurBal] = CASE WHEN @DepositAcct<>'Y' THEN ISNULL([MAT].[ClientCurBal],0) + ISNULL([TBD].[Value],0) ELSE [MAT].[ClientCurBal] END, [MAT].[CurClientCBal] = CASE WHEN @DepositAcct<>'Y' THEN ISNULL([MAT].[CurClientCBal],0) + ISNULL([TBD].[CurrencyValue],0) ELSE [MAT].[CurClientCBal] END, [MAT].[ClientDepBalFwd] = CASE WHEN @DepositAcct='Y' AND @IsPostingFwd='Y' THEN ISNULL([MAT].[ClientDepBalFwd],0) - ISNULL([TBD].[Value],0) ELSE [MAT].[ClientDepBalFwd] END, [MAT].[CurClientDBalFwd] = CASE WHEN @DepositAcct='Y' AND @IsPostingFwd='Y' THEN ISNULL([MAT].[CurClientDBalFwd],0) - ISNULL([TBD].[CurrencyValue],0) ELSE [MAT].[CurClientDBalFwd] END, [MAT].[ClientCurBalFwd] = CASE WHEN @DepositAcct<>'Y' AND @IsPostingFwd='Y' THEN ISNULL([MAT].[ClientCurBalFwd],0) + ISNULL([TBD].[Value],0) ELSE [MAT].[ClientCurBalFwd] END, [MAT].[CurClientCBalFwd] = CASE WHEN @DepositAcct<>'Y' AND @IsPostingFwd='Y' THEN ISNULL([MAT].[CurClientCBalFwd],0) + ISNULL([TBD].[CurrencyValue],0) ELSE [MAT].[CurClientCBalFwd] END FROM [dbo].[matters] [MAT] INNER JOIN @tempBatchDetails [TBD] ON [MAT].[Code] = [TBD].[Matter] END /*INSERT SUPLLIER LEDGER*/ INSERT INTO [dbo].[SupplierLedger] ( [Supp], [Type], [Date], [Ref], [BatchNo], [Pref], [Narr], [Original], [OsValue], [Year], [Per], [EntryDate], [ThirdParty], [Matter] ) SELECT [Supp], [Type], [Date], [Ref], [BatchNo], [Pref], [Narr], [Value], [Value], [Year], [PerNo], CAST(GETDATE() AS DATE), [ThirdParty], [Matter] FROM @tempBatchDetails [TBD] WHERE ISNULL(RTRIM([TBD].[Supp]),'') <> '' SET @AllocRecordCount = (SELECT COUNT(*) FROM @tempBatchDetails WHERE [AllocBatch] <> 0) /*UPDATE SUPPLIER HEADER BASED ON SUPPLIER CODE*/ UPDATE [SUP] SET [SUP].[Balance] = ISNULL([SUP].[Balance] + [TBD].[Value],0) FROM [dbo].[Suppliers] [SUP] JOIN @tempBatchDetails [TBD] ON RTRIM([SUP].[Code]) = RTRIM([TBD].[Supp]) WHERE ISNULL(RTRIM([TBD].[Supp]),'') <> '' IF(@AllocRecordCount>0) BEGIN /* ALLOCATION PART */ UPDATE [dbo].[control] SET [LastAlloc] = [LastAlloc] + 1 WHERE [Next_Doc_No] = 0 /* INSERT INTO ALLOCATION TABLE */ SET @LastAllocNumber = (SELECT [LastAlloc] FROM [dbo].[control] ) INSERT INTO [dbo].[Allocations] ( [BatchNo], [Pref], [Date], [ABatchNo], [Opref], [Oref], [Value], [Fees], [Outlay], [Vat], [UserCode], [AllNo], [VaTCode] ) ( SELECT [TBD].[BatchNo], [TBD].[Pref] , [TBD].[Date], [TBD].[AllocBatch], [TBD].[AllocPref], [TBD].[AllocRef], ISNULL([TBD].[Value] * -1,0), ISNULL([TBD].[Value] * -1,0) - ISNULL([TBD].[VatVal] * -1,0) AS [Fees], 0.00 AS [Outlay], ISNULL([TBD].[VatVal] * -1,0) AS [Vat], @HandlerName AS [UserCode], @LastAllocNumber AS [AllNo], [BAD].[VatCode] AS [VatCode] FROM @tempBatchDetails [TBD] JOIN [dbo].[BatchDetails] [BAD] WITH(NOLOCK) ON [BAD].[BatchNo] = [TBD].[AllocBatch] ) END /*UPDATE BATCH HEADER POSTED DETAILS*/ UPDATE [dbo].[BatchH] SET [Posted] = 'Y', [PostFwd] = CASE WHEN @IsPostingFwd = 'Y' THEN 'Y' ELSE 'N' END WHERE [BatchNo] = @PostedBatchNo END COMMIT TRAN END TRY BEGIN CATCH ROLLBACK TRAN END CATCH END GO IF OBJECT_ID(N'KAAS_CopyBatchDetails',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_CopyBatchDetails] GO CREATE PROCEDURE [dbo].[KAAS_CopyBatchDetails] ( @KeyId decimal ) AS /******************************************************************************************************* * Copy existing batch details * * * * Stored Procedure Name : [dbo].[KAAS_CopyBatchDetails] * * * * Modification History: * * 2021-04-10 Revathy D Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON DECLARE @PREF int SET @PREF = (SELECT MAX(PREF)+1 PREF FROM ( ( SELECT PREF, BATCHNO FROM DBO.BATCHH ) UNION ALL ( SELECT PREF, BATCHNO FROM DBO.BATCHDETAILS ) ) BAT) INSERT INTO [dbo].[BatchDetails] ( [BATCHNO], [TYPE], [CODE], [PREF], [REF], [DATE], [FEE], [BRANCH], [NARR], [MATTER], [SUPP], [VALUE], [VATCODE], [VATVAL], [CLIENTYN], [OUTLAY], [PENDING], [YEAR], [PERNO], [ENTRYCURRENCY], [CURRENCYVALUE], [CURRENCYVAT], [OUTLAYCODE], [THIRDPARTY], [PAYEE], [HEADPREF], [HEADBATCH], [ALLOCBATCH], [ALLOCPREF], [ALLOCREF], [ALLOCVALUE], [ALLOCWRITEOFF], [PSUPP], [UNDETAKING], [CaseAssCode], [OnceOffPayment], [PayClient], [ClientCode], [EFTEmailYorN], [RegisteredPost] ) SELECT [BATCHNO], [TYPE], [CODE], @PREF, [REF], [DATE], [FEE], [BRANCH], [NARR], [MATTER], [SUPP], [VALUE], [VATCODE], [VATVAL], [CLIENTYN], [OUTLAY], [PENDING], [YEAR], [PERNO], [ENTRYCURRENCY], [CURRENCYVALUE], [CURRENCYVAT], [OUTLAYCODE], [THIRDPARTY], [PAYEE], [HEADPREF], [HEADBATCH], [ALLOCBATCH], [ALLOCPREF], [ALLOCREF], [ALLOCVALUE], [ALLOCWRITEOFF], [PSUPP], [UNDETAKING], [CaseAssCode], [OnceOffPayment], [PayClient], [ClientCode], [EFTEmailYorN], [ALLOCBATCH] FROM [dbo].[BatchDetails] WHERE [KEYID] = @KeyId SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_CreateBatch',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_CreateBatch] GO CREATE PROCEDURE [dbo].[KAAS_CreateBatch] ( @BATCHNO int, @POSTFWD char(1) = '', @TYPE char(1), @CODE char(10), @BRANCH varchar(3)='', @PREF int, @REF char(10), @DATE datetime, @FEE varchar(10) = '', @MATTER varchar(20) = '', @SUPP char(10) = '', @NARR char(150), @VALUE decimal(17,2), @SUBTOT decimal(17,2) = 0.00, @POSTED char(1), @CLIENTAC char(1), @PERNO smallint, @YEAR smallint, @PAYEE char(60) ='', @OUTLAYTOT decimal(17,2) = 0.00, @VATTOT decimal(17,2) = 0.00, @FEETOT decimal(17,2) = 0.00, @INVCR char(1), @THIRDPARTY char(1) = '', @USERCODE char(8), @ENTRYDATE datetime, @CLIENTBANK char(10) = '', @CURRENCY char(1)='E', @CURRENCYVALUE decimal(17,2) = 236.27, @CUROUTLAYTOT decimal(17,2) = 0.00, @CURVATTOT decimal(17,2) = 0.00, @CURFEETOT decimal(17,2) = 0.00, @RECNO int = 0, @SINGLELINE char(1) = '', @TEMPLATE char(10) = '', @CHEQUEREQNO int = 0, @WRITEDOWN datetime = null, @WRITEBACKHOURS decimal(7,2) = 0.00, @WRITEBACKVALUE decimal(13,2) = 0.00, @CORRECTCOPY char(1) = '', @CREDITINVOICENO int = 0, @DRAFTBILLNO int = 0, @EFTSENT char(1) = 'N', @EFTDATE datetime = null, @EFTFILENUMBER int = null, @EFTFILENAME varchar(500) = null, @EFTYORN char(1) = 'N', @CLIENTCODE varchar(10) = null, @PAYCLIENT char(1)= 'N', @ONCEOFFPAYMENT char(1)= 'N', @CASEASSCODE varchar(6) = null, @EFTEMAILYORN char(1)= 'N', @FNCODE VARCHAR(10) = NULL, @PAYMETHOD INT = NULL, @CLEARDATE DATETIME = NULL ) AS /******************************************************************************************************* * Save the Batch Header * * * * Stored Procedure Name : [dbo].[KAAS_CreateBatch] * * * * Modification History: * * 2021-04-09 Revathy D Created * * 2021-04-12 Revathy D Updated * * 2021-09-09 Balamurugan Updated-Removed Entry Date Column from update * * 2021-09-09 Vinodhkumar M Updated-Paymethod, cleared date * * 2021-11-26 Balamurugan C Added Calcuation for Curren Value * *******************************************************************************************************/ BEGIN SET NOCOUNT ON /* GETTING IE CONVERT COLUMN FROM CONTROL TABLE FOR CURRENY VALUE*/ DECLARE @IEConvert DECIMAL(9,6) = 0; SELECT @IEConvert = [IECONVERT] FROM [dbo].[Control] IF EXISTS ( SELECT TOP 1 * FROM dbo.[BatchH] WHERE [BatchNo] = @BATCHNO ) UPDATE dbo.[Batchh] SET [BATCHNO] = @BATCHNO, [POSTFWD] = @POSTFWD, [TYPE] = @TYPE, [CODE] = @CODE, [BRANCH] = @BRANCH, [PREF] = @PREF, [REF] = @REF, [DATE] = dbo.KEYHM_FNConvertDateToUTC(@DATE, @FNCODE), [FEE] = @FEE, [MATTER] = @MATTER, [SUPP] = @SUPP, [NARR] = @NARR, [VALUE] = @VALUE, [SUBTOT] = @SUBTOT, [POSTED] = @POSTED, [CLIENTAC] = @CLIENTAC, [PERNO] = @PERNO, [YEAR] = @YEAR, [PAYEE] = @PAYEE, [OUTLAYTOT] = @OUTLAYTOT, [VATTOT] = @VATTOT, [FEETOT] = @FEETOT, [INVCR] = @INVCR, [THIRDPARTY] = @THIRDPARTY, [USERCODE]= @USERCODE, [CLIENTBANK] = @CLIENTBANK, [CURRENCY] = @CURRENCY, [CURRENCYVALUE] = ISNULL(@VALUE * @IEConvert,0), [CUROUTLAYTOT] = @CUROUTLAYTOT, [CURVATTOT]= @CURVATTOT, [CURFEETOT] = @CURFEETOT, [RECNO] = @RECNO, [SINGLELINE] =@SINGLELINE, [TEMPLATE] = @TEMPLATE, [CHEQUEREQNO] = @CHEQUEREQNO, [WRITEDOWN] = @WRITEDOWN, [WRITEBACKHOURS] = @WRITEBACKHOURS, [WRITEBACKVALUE] = @WRITEBACKVALUE, [CORRECTCOPY] = @CORRECTCOPY, [CREDITINVOICENO]= @CREDITINVOICENO, [DRAFTBILLNO] = @DRAFTBILLNO, [EFTSENT] = @EFTSENT, [EFTDATE] = @EFTDATE, [EFTFILENUMBER] = @EFTFILENUMBER, [EFTFILENAME]= @EFTFILENAME, [EFTYORN]=@EFTYORN, [CLIENTCODE]=@CLIENTCODE, [PAYCLIENT]=@PAYCLIENT, [ONCEOFFPAYMENT]=@ONCEOFFPAYMENT, [CASEASSCODE]=@CASEASSCODE, [EFTEMAILYORN] = @EFTEMAILYORN, [PaymentMethod] = @PAYMETHOD, [ClearedDate] = @CLEARDATE WHERE [BatchNo] = @BATCHNO ELSE INSERT INTO dbo.[BatchH] ( [BATCHNO], [POSTFWD], [TYPE], [CODE], [BRANCH], [PREF], [REF], [DATE], [FEE], [MATTER], [SUPP], [NARR], [VALUE], [SUBTOT], [POSTED], [CLIENTAC], [PERNO], [YEAR], [PAYEE], [OUTLAYTOT], [VATTOT], [FEETOT], [INVCR], [THIRDPARTY], [USERCODE], [ENTRYDATE], [CLIENTBANK], [CURRENCY], [CURRENCYVALUE], [CUROUTLAYTOT], [CURVATTOT], [CURFEETOT], [RECNO], [SINGLELINE], [TEMPLATE], [CHEQUEREQNO], [WRITEDOWN], [WRITEBACKHOURS], [WRITEBACKVALUE], [CORRECTCOPY], [CREDITINVOICENO], [DRAFTBILLNO], [EFTSENT], [EFTDATE], [EFTFILENUMBER], [EFTFILENAME], [EFTYORN], [CLIENTCODE], [PAYCLIENT], [ONCEOFFPAYMENT], [CASEASSCODE], [EFTEMAILYORN], [PaymentMethod], [ClearedDate]) VALUES (@BATCHNO, @POSTFWD, @TYPE, @CODE, @BRANCH, @PREF, @REF, dbo.KEYHM_FNConvertDateToUTC(@DATE, @FNCODE), @FEE, @MATTER, @SUPP, @NARR, @VALUE, @SUBTOT, @POSTED, @CLIENTAC, @PERNO, @YEAR, @PAYEE, @OUTLAYTOT, @VATTOT, @FEETOT, @INVCR, @THIRDPARTY, @USERCODE, dbo.KEYHM_FNConvertDateToUTC(@ENTRYDATE, @FNCODE), @CLIENTBANK, @CURRENCY, ISNULL(@VALUE * @IEConvert,0), @CUROUTLAYTOT, @CURVATTOT, @CURFEETOT, @RECNO, @SINGLELINE, @TEMPLATE, @CHEQUEREQNO, @WRITEDOWN, @WRITEBACKHOURS, @WRITEBACKVALUE, @CORRECTCOPY, @CREDITINVOICENO, @DRAFTBILLNO, @EFTSENT, @EFTDATE, @EFTFILENUMBER, @EFTFILENAME, @EFTYORN, @CLIENTCODE, @PAYCLIENT, @ONCEOFFPAYMENT, @CASEASSCODE, @EFTEMAILYORN, @PAYMETHOD, @CLEARDATE) SET NOCOUNT OFF END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_CreateBatchDetails' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_CreateBatchDetails] END GO CREATE PROCEDURE [dbo].[KAAS_CreateBatchDetails] ( @KEYID INT, @BATCHNO INT, @PREF INT, @REF CHAR(10), @DATE DATETIME, @NARR CHAR(100), @MATTER VARCHAR(20), @VALUE DECIMAL(17,2), @VATCODE CHAR(1), @VATVAL DECIMAL(17,2) = 0.00, @YEAR SMALLINT, @PERNO SMALLINT, @CODE CHAR(10) = '', @ALLOCREF CHAR(10) = '', @ALLOCVALUE DECIMAL(17,2) = 0.00, @ALLOCBATCH INT, @ALLOCPREF INT, @OUTLAY CHAR(1), @ALLOCWRITEOFF CHAR(1) = '', @FNCODE VARCHAR(10) = NULL , @TYPE CHAR(1) = 'R', @SUPP VARCHAR(10) = '', @OUTLAYCODE VARCHAR(4) = '', @FEE VARCHAR(10) = '', @BRANCH VARCHAR(3) = '', @PAYEE VARCHAR(60) = '', @ONCEOFFPAYMENT CHAR(1) = 'N', @PAYCLIENT CHAR(1) = 'N', @THIRDPARTY CHAR(1) = 'N', @CLIENTCODE VARCHAR(10) = '', @EFTEMAILYORN CHAR(1) = 'N', @CASEASSCODE VARCHAR(6) = '', @CURRENCYVALUE DECIMAL(17,2) = 393.78, @HEADBATCH INT = 0, @HEADPREF INT = 0 ) AS /******************************************************************************************************* * Save the Batch Details * * * * Stored Procedure Name : [dbo].[KAAS_CreateBatchDetails] * * * * Modification History: * * 2021-04-10 Revathy D Created * * 2021-04-23 Balamurugan C Modified -Added Payee,Third Party Column * * 2021-04-25 Balamurugan C Modified -Case Associate Column * * 2021-09-21 Revathy D Modified - Default Code is modified for type 'P' * * 2021-10-18 Vinodhkumar M Modified - Added Currency Value Parameter * * 2021-11-26 Balamurugan C Added Calcuation for Curren Value and Current VAT * * 2021-12-07 vinodhkumar M Added headbatch, headpref columns * *******************************************************************************************************/ BEGIN SET NOCOUNT ON DECLARE @ENTRYCURRENCY CHAR(1) = 'E', @CURRENCYVAT DECIMAL(17,2) = 0.00, @IEConvert DECIMAL(9,6) = 0; SELECT @IEConvert = [IECONVERT] FROM [dbo].[Control] IF(@TYPE <> 'P' OR (@TYPE = 'P' AND @CODE = '')) BEGIN SET @CODE = ( SELECT CASE WHEN @OUTLAY = 'C' THEN ISNULL([CON].CLIENT,'') WHEN @OUTLAY = 'O' THEN ISNULL([CON].OUTLAY,'') WHEN @OUTLAY = 'D' THEN ISNULL([CON].DEBTORS,'') ELSE @CODE END FROM DBO.[CONTROL] [CON] ) END IF EXISTS ( SELECT TOP 1 * FROM [dbo].[BatchDetails] WHERE [KeyId] = @KEYID ) BEGIN UPDATE [BAT] SET [BAT].[BATCHNO] = @BATCHNO, [BAT].[TYPE] = @TYPE, [BAT].[CODE] = @CODE, [BAT].[PREF] = @PREF, [BAT].[REF] = @REF, [BAT].[DATE] = dbo.KEYHM_FNConvertDateToUTC(@DATE, @FNCODE), [BAT].[NARR] = @NARR, [BAT].[MATTER] = @MATTER, [BAT].[VALUE] = @VALUE, [BAT].[VATCODE] = @VATCODE, [BAT].[VATVAL] = @VATVAL, [BAT].[OUTLAY] = @OUTLAY, [BAT].[YEAR] = @YEAR, [BAT].[PERNO] = @PERNO, [BAT].[ENTRYCURRENCY] = @ENTRYCURRENCY, [BAT].[CURRENCYVALUE] = ISNULL(@VALUE * @IEConvert,0), [BAT].[CURRENCYVAT] = ISNULL(@VATVAL * @IEConvert,0), [BAT].[ALLOCREF] = @ALLOCREF, [BAT].[ALLOCVALUE] = @ALLOCVALUE, [BAT].[ALLOCBATCH] = @ALLOCBATCH, [BAT].[ALLOCPREF] = @ALLOCPREF, [BAT].[ALLOCWRITEOFF] = @ALLOCWRITEOFF, [BAT].[CASEASSCODE] = @CASEASSCODE, [BAT].[ONCEOFFPAYMENT]= @ONCEOFFPAYMENT, [BAT].[PAYCLIENT] = @PAYCLIENT, [BAT].[CLIENTCODE] = @CLIENTCODE, [BAT].[EFTEMAILYORN] = @EFTEMAILYORN, [BAT].[SUPP] = @SUPP, [BAT].[OUTLAYCODE] = @OUTLAYCODE, [BAT].[FEE] = @FEE, [BAT].[BRANCH] = @BRANCH, [BAT].[PAYEE] = @PAYEE, [BAT].[THIRDPARTY] = @THIRDPARTY, [BAT].[HEADBATCH] = @HEADBATCH, [BAT].[HEADPREF] = @HEADPREF FROM [dbo].[BatchDetails] [BAT] WHERE [BAT].[KEYID] = @KEYID END ELSE BEGIN INSERT INTO [dbo].BATCHDETAILS ( [BATCHNO], [TYPE], [CODE], [PREF], [REF], [DATE], [NARR], [MATTER], [VALUE], [VATCODE], [VATVAL], [OUTLAY], [YEAR], [PERNO], [ENTRYCURRENCY], [CURRENCYVALUE], [CURRENCYVAT], [ALLOCREF], [ALLOCVALUE], [ALLOCBATCH], [ALLOCPREF], [ALLOCWRITEOFF], [CASEASSCODE], [ONCEOFFPAYMENT], [PAYCLIENT], [CLIENTCODE], [EFTEMAILYORN], [SUPP], [OUTLAYCODE], [FEE], [BRANCH], [PAYEE], [THIRDPARTY], [HEADBATCH], [HEADPREF] ) VALUES ( @BATCHNO, @TYPE, @CODE, @PREF, @REF, @DATE, @NARR, @MATTER, @VALUE, @VATCODE, @VATVAL, @OUTLAY, @YEAR, @PERNO, @ENTRYCURRENCY, ISNULL(@VALUE * @IEConvert,0), ISNULL(@VATVAL * @IEConvert,0), @ALLOCREF, @ALLOCVALUE, @ALLOCBATCH, @ALLOCPREF, @ALLOCWRITEOFF, @CASEASSCODE, @ONCEOFFPAYMENT, @PAYCLIENT, @CLIENTCODE, @EFTEMAILYORN, @SUPP, @OUTLAYCODE, @FEE, @BRANCH, @PAYEE, @THIRDPARTY, @HEADBATCH, @HEADPREF ) END SET NOCOUNT OFF END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_CreateEditSAMCreditorList' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_CreateEditSAMCreditorList] END GO CREATE PROCEDURE [dbo].[KAAS_CreateEditSAMCreditorList] ( @Date DATE = NULL, @PayValue DECIMAL(18,2) = 0, @RecordID INT = 0, @Mode VARCHAR(10) = '' ) AS /******************************************************************************************************* * Create Creditors List for Supplier Ledger * * * * Stored Procedure Name : [dbo].[KAAS_CreateEditSAMCreditorList] * * * * Modification History: * * 2021-10-12 Balamurugan C Created * *******************************************************************************************************/ BEGIN IF(@Mode='Create') BEGIN DELETE FROM [dbo].[CreditorsList] INSERT INTO [dbo].[CreditorsList] ( [SupplyCode], [BatchNo], [Pref], [Ref], [Date], [OrigValue], [OsValue], [PayValue] ) SELECT Result.SUPP, Result.BATCHNO, Result.PREF, Result.REF, Result.DATE, Result.ORIGINAL, Result.OSVALUE, 0.00 AS [PAYVALUE] FROM ( SELECT SUPP ,BATCHNO ,PREF ,REF ,DATE ,ORIGINAL ,OSVALUE + ISnull((SELECT sum([BTD].ALLOCVALUE) FROM [dbo].[BatchH] [BTH] INNER JOIN [dbo].[BatchDetails] [BTD] ON [BTH].BATCHNO = [BTD].BATCHNO WHERE [BTH].POSTED='N' AND [SPL].BATCHNO = [BTD].[ALLOCBATCH] ),0) as OSVALUE FROM [dbo].[SupplierLedger] AS [SPL] WHERE [SPL].OSVALUE < 0 )Result WHERE [OSVALUE] < 0 AND CAST([Date] AS DATE) <= CAST(@Date AS DATE) ORDER by [SUPP] asc END ELSE BEGIN UPDATE [dbo].[CreditorsList] SET [PayValue] = @PayValue WHERE [RecordID] = @RecordID END END GO IF OBJECT_ID(N'KAAS_CreateNominalAccountDetails', N'P') IS NOT NULL BEGIN DROP PROCEDURE [dbo].[KAAS_CreateNominalAccountDetails] END GO CREATE PROCEDURE [dbo].[KAAS_CreateNominalAccountDetails] ( @Code VARCHAR(10) = '', @Retired VARCHAR(1) = '', @Description VARCHAR(30) = '', @Type VARCHAR(6) = '', @Pbtype CHAR(1) = '', @Currency CHAR(1) = '', @Repseq VARCHAR(4) = '', @Clientbankacct CHAR(1) = '', @Deposit CHAR(1) = '', @DepositType VARCHAR(4) = '', @Allowchqreq CHAR(1) = '', @Chqprinter VARCHAR(40) = '', @Lastchqno INT = 0, @Bank VARCHAR(40) = '', @BankBranch VARCHAR(40) = '', @Address VARCHAR(120) ='', @BankType CHAR(1) = '', @BankPhone VARCHAR(50) = '', @AccountNo VARCHAR(10) = '', @SortCode VARCHAR(10) = '', @AccountName VARCHAR(50) = '', @Signatories VARCHAR(255) = '', @DateOpened DATETIME = null, @DateClosed DATETIME = null, @Iban VARCHAR(34) ='', @Bic VARCHAR(20) ='', @OrgIdNum VARCHAR(34) ='', @Mode VARCHAR(10) ='INSERTEDIT' ) AS /******************************************************************************************************* * Save the Nominal Account Details * * * * Stored Procedure Name : [dbo].[KAAS_CreateNominalAccountDetails] * * * * Modification History: * * Balamurugan 24-May-2021 Created * *******************************************************************************************************/ BEGIN SET nocount ON /*CHECK THE DATA ALREADY PRESENT OR NOT*/ IF( @Mode = 'INSERTEDIT' ) BEGIN IF EXISTS ( SELECT TOP 1 1 FROM [dbo].[Nominal] WHERE [Code] = @CODE ) BEGIN /*IF DATA ALREADY PRESENT UPDATE PROCESS*/ UPDATE [dbo].[Nominal] SET [Desc] = @Description, [Type] = @Type, [Pb] = @Pbtype, [Retired] = @Retired, [Currency] = @Currency, [Seq] = @Repseq, [ClientAc] = @Clientbankacct, [DepositYN] = @Deposit, [DepositType] = @DepositType, [ChequeReq] = @Allowchqreq, [ChequePrinter] = @Chqprinter, [LastNo] = @Lastchqno, [Bank] = @Bank, [BankBranch] = @BankBranch, [BankAddress] = @Address, [BankType] = @BankType, [BankPhone] = @BankPhone, [AccountNo] = @AccountNo, [SortCode] = @SortCode, [AccountName] = @AccountName, [WithdrawNames] = @Signatories, [AcOpened] = @DateOpened, [AcClosed] = @DateClosed, [Iban] = @Iban, [Bic] = @Bic, [OrgIDNumber] = @OrgIdNum WHERE [Code] = @Code END ELSE BEGIN /*INSERT PROCESS IF DATA NOT PRESENT*/ INSERT INTO [dbo].[nominal] ( [Code], [Desc], [Type], [Pb], [Retired], [Currency], [Seq], [Clientac], [Deposityn], [DepositType], [ChequeReq], [ChequePrinter], [LastNo], [Bank], [BankBranch], [BankAddress], [BankType], [BankPhone], [AccountNo], [SortCode], [AccountName], [WithdrawNames], [AcOpened], [AcClosed], [Iban], [Bic], [OrgIDNumber] ) VALUES ( @Code, @Description, @Type, @Pbtype, @Retired, @Currency, @Repseq, @Clientbankacct, @Deposit, @DepositType, @Allowchqreq, @Chqprinter, @Lastchqno, @Bank, @BankBranch, @Address, @BankType, @BankPhone, @AccountNo, @SortCode, @AccountName, @Signatories, @DateOpened, @DateClosed, @Iban, @Bic, @OrgIdNum ) END END ELSE BEGIN /*DELETE PART*/ DELETE FROM [dbo].[Nominal] WHERE [Code] = @Code END END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_CreateNominalBudget' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_CreateNominalBudget] END GO CREATE PROCEDURE [dbo].[KAAS_CreateNominalBudget] ( @CODE VARCHAR(10), @BRANCH VARCHAR(10), @YEAR INT, @PERIOD INT, @BUDGET DECIMAL(19,2), @RECORDID INT ) AS /******************************************************************************************************* * Save the Nominal Budget * * * * Stored Procedure Name : [dbo].[KAAS_CreateNominalBudget] * * * * Modification History: * * 2021-09-27 Revathy D Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON IF EXISTS ( SELECT TOP 1 * FROM [dbo].[NOMINALBUDGETS] WHERE [RECORDID] = @RECORDID ) BEGIN UPDATE [NBT] SET [NBT].[CODE] = @CODE, [NBT].[BRANCH] = @BRANCH, [NBT].[YEAR] = @YEAR, [NBT].[PERIOD] = @PERIOD, [NBT].[BUDGET] = @BUDGET FROM [dbo].[NOMINALBUDGETS] [NBT] WHERE [NBT].[RECORDID] = @RECORDID END ELSE BEGIN INSERT INTO [dbo].[NOMINALBUDGETS] ( [CODE], [BRANCH], [YEAR], [PERIOD], [BUDGET] ) VALUES ( @CODE, @BRANCH, @YEAR, @PERIOD, @BUDGET ) END SET NOCOUNT OFF END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_CreateSAMCreditorMultiPayment' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_CreateSAMCreditorMultiPayment] END GO CREATE PROCEDURE [dbo].[KAAS_CreateSAMCreditorMultiPayment] ( @SupplierCode VARCHAR(15) = '', @SupplierName VARCHAR(50) = '', @BankCode VARCHAR(15) = '', @UnpaidValue DECIMAL(18,2) = 0, @PayValue DECIMAL(18,2) = 0, @AllocBatch INT = 0, @AllocPref INT = 0, @AllocRef VARCHAR(20) = '', @RecordID INT = 0, @SumOfPayValue DECIMAL(18,2) = 0, @TotalRecordCount INT = 0, @Mode VARCHAR(20) = '', @UpdateBatch INT = '' ) AS /******************************************************************************************************* * Create Multi Payment Batch and Details * * * * Stored Procedure Name : [dbo].[KAAS_CreateSAMCreditorMultiPayment] * * * * Modification History: * * 2021-10-12 Balamurugan C Created * * 2021-10-18 Balamurugan C Modified - Removed Supplier Ledger Update Part * *******************************************************************************************************/ BEGIN BEGIN TRY BEGIN TRAN IF(@Mode='Record') BEGIN DECLARE @LastBatch INT = 0, @LastPref INT = 0, @Year INT = 0, @CurPer INT = 0, @LastPrefDetails INT = 0, @DefaultCreditor VARCHAR(15) = '' ( SELECT @LastBatch = (LastBatch + 1), @LastPref = (LastPref + 1), @Year = [Year], @CurPer = CurPer, @DefaultCreditor = [Creditor] FROM [dbo].[Control] ) /* INSERT TO BATCH HEADER TABLE */ IF NOT EXISTS ( SELECT TOP 1 1 FROM [dbo].[BatchH] WHERE [BatchNo] = @LastBatch ) INSERT INTO [dbo].[BatchH] ( Batchno, Postfwd, [Type], Code, Branch, Pref, Ref, [Date], Fee, Matter, Supp, Narr, [Value], Subtot, Posted, ClientAc, PerNo, [Year], Payee, OutlayTot, VatTot, FeeTot, Invcr, ThirdParty, UserCode, EntryDate, ClientBank, Currency, CurrencyValue, CuroutlayTot, CurVatTot, CurFeeTot, RecNo, Singleline, Template, ChequeReqNo, WriteDown, WriteBackHours, WriteBackValue, CorrectCopy, CreditInvoiceNo, DraftBillNo, EFTSent, EFTDate, EFTFileNumber, EFTFileName, EFTYorN, ClientCode, PayClient, OnceOffPayment, CaseAssCode, EFTEmailYorN, HandlerCode, PaymentMethod, ClearedDate ) VALUES ( @LastBatch, '', 'M', @BankCode, '', @LastPref, 'EFT', CAST(GETUTCDATE() AS DATE), '', '', '', '', @SumOfPayValue, 0.00, 'N', '', @CurPer, @Year, '', 0.00, 0.00, 0.00, '', '', 'keyhouse', CAST(GETUTCDATE() AS DATE), '', 'E', @SumOfPayValue, 0.00, 0.00, 0.00, 0, '', '', 0, NULL, 0.00, 0.00, '', 0, 0, 'N', NULL, 0, '', 'Y', '', 'N', 'N', '', 'N', '', 0, NULL ) UPDATE [dbo].[Control] SET [LASTPREF] = (@LastPref) WHERE [NEXT_DOC_NO] = 0 SELECT @LastPrefDetails = (LASTPREF+1) FROM [dbo].[Control] /* INSERT TO BATCH DETAILS TABLE */ INSERT INTO [dbo].[Batchdetails] ( BatchNo, [Type], Code, Pref, Ref, [Date], Fee, Branch, Narr, Matter, Supp, [Value], Vatcode, Vatval, Clientyn, Outlay, Pending, [Year], Perno, Entrycurrency, Currencyvalue, Currencyvat, Outlaycode, Thirdparty, Payee, Headpref, Headbatch, Allocbatch, Allocpref, Allocref, Allocvalue, Allocwriteoff, Psupp, Undetaking, Caseasscode, Onceoffpayment, Payclient, ClientCode, EFTEmailYorN, RegisteredPost, PreBilledOutlay ) VALUES ( @LastBatch, 'M', @DefaultCreditor, @LastPrefDetails, 'EFT', CAST(GETUTCDATE() AS DATE), '', '', 'Auto Pd '+@SupplierName+' bill(s) for '+ CONVERT(varchar(20),@UnpaidValue), '', @SupplierCode, @PayValue, '', 0.00, '', 'N', '', @Year, @CurPer, 'E', @PayValue, 0.00, '', '', @SupplierName, @LastBatch + 1, @LastPref + 1, @AllocBatch, @AllocPref, @AllocRef, @PayValue, 'N', '', 0, '', 'N', 'N', '', 'N', 0, 0 ) UPDATE [dbo].[Control] SET [LASTPREF] = @LastPrefDetails WHERE [NEXT_DOC_NO] = 0 IF(@TotalRecordCount=1) BEGIN UPDATE [dbo].[CreditorsList] SET [OsValue] = CONVERT(NUMERIC(18,2),[OsValue]) + CONVERT(NUMERIC(18,2),ABS(@PayValue)) WHERE [RecordID] = @RecordID END SELECT @LastBatch 'ResultBatch' END IF(@Mode='Batch') BEGIN UPDATE [dbo].[Control] SET [LASTBATCH] = @UpdateBatch WHERE [NEXT_DOC_NO] = 0 END COMMIT TRAN END TRY BEGIN CATCH ROLLBACK TRAN END CATCH END GO IF OBJECT_ID(N'KAAS_DeleteBatchDetails',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_DeleteBatchDetails] GO CREATE PROCEDURE [dbo].[KAAS_DeleteBatchDetails] ( @KeyId decimal ) AS /******************************************************************************************************* * Delete Batch Details * * * * Stored Procedure Name : [dbo].[KAAS_DeleteBatchDetails] * * * * Modification History: * * 2021-04-10 Revathy D Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON DELETE FROM dbo.[BatchDetails] WHERE [KEYID] = @KeyId SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_DeleteBatchHeader',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_DeleteBatchHeader] GO CREATE PROCEDURE [dbo].[KAAS_DeleteBatchHeader] ( @BatchNo varchar(50) ) AS /******************************************************************************************************* * Delete Batch Header * * * * Stored Procedure Name : [dbo].[KAAS_DeleteBatchHeader] * * * * Modification History: * * 2021-04-10 Revathy D Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON DELETE FROM dbo.BatchH WHERE BATCHNO = @BatchNo DELETE FROM dbo.BatchDetails WHERE BATCHNO = @BatchNo SET NOCOUNT OFF END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_DeleteDebtorsLedgerAllocation' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_DeleteDebtorsLedgerAllocation] END GO CREATE PROCEDURE [dbo].[KAAS_DeleteDebtorsLedgerAllocation] (@KeyId INT, @Result TINYINT OUTPUT) AS /******************************************************************************************************* * * * Used to Insert supplier ledger allocation * * Stored Procedure Name: [dbo].[KAAS_DeleteDebtorsLedgerAllocation] * * Modification History: * * 2021-03-26 Natarajan S Created * * 2021-03-28 Natarajan S Modified - Added @result parameter after update * ********************************************************************************************************/ BEGIN TRY BEGIN TRANSACTION DECLARE @BillBatchNo INT, @PayBatchNo INT, @Value INT, @Fees INT, @Outlay INT, @Vat INT, @AllNo INT SELECT @BillBatchNo = [BatchNo], @PayBatchNo = [ABatchNo], @Value = [Value], @Fees = [Fees], @Outlay = [Outlay], @Vat = [Vat], @AllNo = [AllNo] FROM [dbo].[Allocations] WHERE [KeyId]=@KeyId UPDATE [DBL] SET [DBL].[OSValue] = CASE [DBL].[Type] WHEN 'R' THEN [DBL].[OSValue] + @Value ELSE [DBL].[OSValue] - @Value END, [DBL].[OSFees] = CASE [DBL].[Type] WHEN 'R' THEN [DBL].[OSFees] + @Fees ELSE [DBL].[OSFees] - @Fees END, [DBL].[OSOutlay] = CASE [DBL].[Type] WHEN 'R' THEN [DBL].[OSOutlay] + @Outlay ELSE [DBL].[OSOutlay] - @Outlay END, [DBL].[OSVat] = CASE [DBL].[Type] WHEN 'R' THEN [DBL].[OSVat] + @Vat ELSE [DBL].[OSVat] - @Vat END FROM [dbo].[DebtorsLedger] [DBL] WHERE [DBL].[BatchNo] IN (@BillBatchNo,@PayBatchNo) DELETE FROM [dbo].[Allocations] WHERE [AllNo] = @AllNo SET @Result =1 COMMIT TRANSACTION END TRY BEGIN CATCH SET @Result =0 ROLLBACK TRANSACTION END CATCH GO IF OBJECT_ID(N'KAAS_DeleteMasters',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_DeleteMasters] GO CREATE PROCEDURE [dbo].[KAAS_DeleteMasters] ( @TableName varchar(100), @CodeVal varchar(20), @Result int =0 Output ) AS /******************************************************************************************************* * Delete Master details * * select * from departments * * Stored Procedure Name : [dbo].[KAAS_DeleteMasters] 'departments', '' * * * * Modification History: * * 2021-06-17 Natarajan S Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON DECLARE @Qry Nvarchar(max) DECLARE @ColCode varchar(20) SET @ColCode = ( SELECT C.COLUMN_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS T JOIN INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE C ON C.CONSTRAINT_NAME=T.CONSTRAINT_NAME WHERE C.TABLE_NAME=@TableName AND T.CONSTRAINT_TYPE='PRIMARY KEY' ) SET @Qry = 'DELETE FROM '+@TableName+' WHERE ' +@ColCode+'=''' +@CodeVal +'''' SET @Result =1 exec sp_executesql @Qry SET NOCOUNT OFF END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'Kaas_DeleteMatterledger' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[Kaas_DeleteMatterledger] END go CREATE PROCEDURE [dbo].[Kaas_DeleteMatterledger] (@LRef INT,@Result TINYINT OUTPUT) AS /******************************************************************************************************* * * * Used to delete the matter ledger * * Stored Procedure Name: [dbo].[Kaas_DeleteMatterledger] * * Modification History: * * 2021-04-12 Natarajan S Created * *******************************************************************************************************/ BEGIN DELETE FROM [dbo].[MatterLedger] WHERE [LREF]=@LRef SET @Result = 1 END go IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_DeleteNominalBudget' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_DeleteNominalBudget] END GO CREATE PROCEDURE [dbo].[KAAS_DeleteNominalBudget] ( @RecordId decimal ) AS /******************************************************************************************************* * Delete Nominal Budget * * * * Stored Procedure Name : [dbo].[KAAS_DeleteNominalBudget] * * * * Modification History: * * 2021-09-27 Revathy D Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON DELETE FROM dbo.[NominalBudgets] WHERE [RECORDID] = @RecordId SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_DeleteSAMAccruals', N'P') IS NOT NULL BEGIN DROP PROCEDURE [dbo].[KAAS_DeleteSAMAccruals] END GO CREATE PROCEDURE [dbo].[KAAS_DeleteSAMAccruals] ( @RecordId INT ) AS /******************************************************************************************************* * [dbo].[KAAS_DeleteSAMAccruals] * * Description: Used to delete accrual detail * * Modification History: * * 2021-08-04 Revathy D Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON BEGIN DELETE FROM [dbo].[Accruals] WHERE [RECORDID] = @RecordId END SET NOCOUNT OFF END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_DeleteSupplierLedger' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_DeleteSupplierLedger] END go CREATE PROCEDURE [dbo].[KAAS_DeleteSupplierLedger] (@RecordId INT, @Result TINYINT OUTPUT) AS /******************************************************************************************************* * * * Used to delete the supplier ledger * * Stored Procedure Name: [dbo].[KAAS_DeleteSupplierLedger] * * Modification History: * * 2021-07-07 Natarajan S Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON DELETE FROM [dbo].[SupplierLedger] WHERE [RecordId]=@RecordId SET @Result = 1 SET NOCOUNT OFF END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_DeleteSupplierLedgerAllocation' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_DeleteSupplierLedgerAllocation] END go CREATE PROCEDURE [dbo].[KAAS_DeleteSupplierLedgerAllocation] (@KeyId INT, @Result TINYINT OUTPUT) AS /******************************************************************************************************* * * *Used to Insert supplier ledger allocation * * Stored Procedure Name: [dbo].[KAAS_DeleteSupplierLedgerAllocation] * * Modification History: * * 2021-03-26 Natarajan S Created * ********************************************************************************************************/ BEGIN TRY BEGIN TRANSACTION DECLARE @BillBatchNo INT, @PayBatchNo INT, @Value INT, @AllNo INT SELECT @BillBatchNo = BatchNo, @PayBatchNo = ABatchNo, @Value = Value, @AllNo = AllNo FROM [dbo].[Allocations] WHERE [KeyId]=@KeyId UPDATE [SLD] SET [SLD].[OSValue] = CASE [SLD].[TYPE] WHEN 'P' THEN [SLD].[OSValue]+ @Value ELSE [SLD].[OSValue]- @Value END FROM [dbo].[SupplierLedger] [SLD] WHERE [SLD].[BatchNo] IN (@BillBatchNo,@PayBatchNo) DELETE FROM [dbo].[Allocations] WHERE [AllNo] = @AllNo COMMIT TRANSACTION END TRY BEGIN CATCH SET @Result =0 ROLLBACK TRANSACTION END CATCH GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'Kaas_DeleteUndertaking' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[Kaas_DeleteUndertaking] END go CREATE PROCEDURE [dbo].[Kaas_DeleteUndertaking] (@RecordId INT, @MatterCode varchar(20), @Narrative varchar(max), @ClientMin varchar(30), @ActionId int, @DiaryMessage varchar(max), @LogMessage varchar(max), @Result TINYINT OUTPUT) AS /******************************************************************************************************* * * * Used to delete the matter ledger * * Stored Procedure Name: [dbo].[Kaas_DeleteUndertaking] 115,'000001/0000','test','20.00',7489,'test','test',0 * * Modification History: * * 2021-04-12 Natarajan S Created * *******************************************************************************************************/ BEGIN DECLARE @CurrDate datetime SET @CurrDate=GETDATE() DECLARE @TIMECONVERT INT SET @TIMECONVERT = [dbo].ky_ConvertTimeToClarion(GETDATE()) DELETE FROM [dbo].[Undertakings] WHERE [RECORDID]=@RecordId SET @Result = 1 end BEGIN EXEC KAAS_INSERTSAMMatterLedgerComment @MatterCode,@Narrative,@ClientMin,@CurrDate,@Result END BEGIN UPDATE [dbo].[diary] SET [DATE]=@CurrDate, [STATUS]=1, [TEXT1]=@DiaryMessage WHERE [ACTIONID]=@ActionId INSERT INTO [dbo].[Log] ([DATE], [USER], [EVENT]) VALUES (@CurrDate, 'admin', @LogMessage) INSERT INTO [dbo].[DesktopMessages] ([MESSAGE], [HEADING], [DATE], [TIME], [BUTTON], [DURATION], [NAME], [FLAG], [EXTRAS], [EXTRAL]) VALUES (@LogMessage, 'Undertaking Deleted', @TIMECONVERT, @TIMECONVERT, 0, 0, 'admin', 0, ' ', 0) END go IF OBJECT_ID(N'[KAAS_FetchContacts]',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_FetchContacts] GO CREATE PROCEDURE [dbo].[KAAS_FetchContacts] AS /******************************************************************************************************* * This procedure is used To Fetch Contacts for Browse Contacts page * * CaseContacts AND CaseAssociateTypes . * * * * Stored Procedure Name : [dbo].[KAAS_FetchContacts] * * * * Modification History : * * 2021-07-14 Prabhu V Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON SELECT [Con].[Code], [Con].[Name], [Con].[Address], [Con].[Principal], [Con].[FE], [Con].[Client], [Con].[Nation], [Con].[ClientGroup], [Con].[OpenMatters], [Con].[StartDate], [Con].[BillBal], [Con].[OutlayBal], [Con].[ClientCur], [Con].[ClientDep], [Con].[RSINo], [Con].[OtherRef], [Con].[OpsisRef], [Con].[ContactNo], [Con].[CompBillOnOff], [Con].[TaxType] FROM [dbo].[contacts] [Con] WHERE [Con].[Client] = 'Y' ORDER BY [Con].[Client] ASC, [Con].[Code] ASC SET NOCOUNT OFF END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_GetApprovedChequeRequisitionDetails' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_GetApprovedChequeRequisitionDetails] END GO CREATE PROCEDURE [dbo].[KAAS_GetApprovedChequeRequisitionDetails] ( @Mode VARCHAR(5) = '', @ReqNo INT = 0 ) AS /******************************************************************************************************* * Fetches the Approved Cheque Reqisition Details * * * * Stored Procedure Name : [dbo].[dbo].[KAAS_GetApprovedChequeRequisitionDetails] * * * * Modification History: * * 2021-09-13 Balamurugan.C Created * * 2021-10-22 Balamurugan.C Modified - Added Third Party Column and handled fetch * the record based on grid mode and single record mode * *******************************************************************************************************/ BEGIN SET NOCOUNT ON SELECT [CRH].[ReqNo] AS [ReqNo], [CRH].[Date] AS [Date], [CRH].[Who] AS [Who], [CRH].[Bank] AS [Bank], [CRH].[Value] AS [Value], [CRH].[Narrative] AS [Narrative], [CRH].[Payee] AS [Payee], [CRH].[Status] AS [Status], [CRH].[ReturnReason] AS [ReturnReason], [CRH].[FeeEarner] AS [FeeEarner], [CRH].[Supply] AS [Supply], [CRH].[OutlayCode] AS [OutlayCode], [CRH].[EFTYorN] AS [EFTYorN], [CRH].[ThirdParty] AS [ThirdParty], [CRD].[ReqNo] AS [DetailsReqNo], [CRD].[Matter] AS [Matter], [CRD].[Nominal] AS [Nominal], [CRD].[RecordID] AS [RecordID], [MAT].[Code] AS [MatterCode], [MAT].[ClientCode] As [ClientCode], [MAT].[FeCode] AS [MatterFeeEarnerCode], [MAT].[Dept] AS [Dept], [MAT].[Wtype] AS [Wtype], [MAT].[Branch] AS [Branch], [MAT].[FileNum] AS [FileNum], [MAT].[ThirdPart] AS [ThirdPart], [MAT].[ThPartSol] AS [ThPartSol], [MAT].[OldRef] AS [OldRef], [MAT].[Pcode] AS [Pcode], [MAT].[PFeCode] AS [PFeCode], [MAT].[User1] AS [User1], [MAT].[User2] AS [User2], [MAT].[User3] AS [User3], [MAT].[FileColour] AS [FileColour], [MAT].[OUTFileNo] AS [OUTFileNo], [MAT].[Closed] AS [Closed] FROM [dbo].[ChequeRequisitionHeader] [CRH] LEFT OUTER JOIN [dbo].[ChequeRequisitionDetail] [CRD] ON [CRH].[ReqNo]= [CRD].[ReqNo] LEFT OUTER JOIN [dbo].[Matters] [MAT] ON [CRD].[Matter]= [MAT].[Code] WHERE [CRH].[Status] = '1' AND [CRH].[ReqNo] = CASE WHEN @Mode='All' THEN [CRH].[ReqNo] ELSE @ReqNo END ORDER BY [CRH].[Status] ASC, [CRH].[ReqNo] ASC SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_GetAssociatesTypes',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_GetAssociatesTypes] GO CREATE PROCEDURE [dbo].[KAAS_GetAssociatesTypes] AS /******************************************************************************************************* * Fetches the case associate types * * * * Stored Procedure Name : [dbo].[KAAS_GetAssociatesTypes] * * * * Modification History: * * 2021-04-09 Revathy D Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON SELECT RTRIM(ISNULL([ACT].[CODE],'')) AS [Code], [ACT].[DESCRIPTION] AS [Description] FROM [dbo].[AssociateTypes] [ACT] ORDER BY [ACT].[CODE] ASC SET NOCOUNT OFF END GO IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[KAAS_GetBankDetails]') AND type in (N'P', N'PC')) BEGIN DROP PROCEDURE [dbo].[KAAS_GetBankDetails] END GO /****** Object: StoredProcedure [dbo].[KAAS_GetBankDetails] Script Date: 23-03-2021 16:19:44 ******/ CREATE PROCEDURE [dbo].[KAAS_GetBankDetails] AS /******************************************************************************************************* * Fetches the Bank details * * * * Stored Procedure Name : [dbo].[KAAS_GetBankDetails] * * * * Modification History: * * 2021-03-23 Revathy D Created * * 2021-08-09 Vinodhkumar M Modified - columns added * * 2021-09-09 Balamurugan Modified - columns added _branch * *******************************************************************************************************/ BEGIN SET NOCOUNT ON SELECT RTRIM(NOM.[Code]) AS [Code], RTRIM(NOM.[Desc]) AS [Desc], NOM.[Type], NOM.[Pb], NOM.[Seq], NOM.[Clientac] AS [Client], NOM.[Deposityn] AS [Deposit], NOM.[Deposittype] AS [DepType], NOM.[BankBranch], ISNULL(NOM.[IBAN],'') AS [Iban], ISNULL(NOM.[ACCOUNTNAME],'') AS [AccountName], ISNULL(NOM.[ACCOUNTNO],'') AS [AccountNumber], ISNULL(NOM.[SORTCODE],'') AS [SortCode], ISNULL(NOM.[BIC],'') AS [Bic], ISNULL(NOM.[Branch],'') AS [Branch] FROM dbo.[Nominal] NOM WHERE NOM.[TYPE] = 'BANK' AND NOM.[RETIRED] <> 'Y' ORDER BY NOM.[CODE] ASC SET NOCOUNT OFF END GO IF EXISTS(SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_GetBatchByNo' AND SO.[type] = 'P' ) BEGIN DROP PROCEDURE [dbo].[KAAS_GetBatchByNo] END GO CREATE PROCEDURE [dbo].[KAAS_GetBatchByNo] ( @BatchNo INT, @handlerCode VARCHAR(10) = NULL ) AS /******************************************************************************************************* * Fetches the batch details of unposted payments * * * * Stored Procedure Name : [dbo].[KAAS_GetBatchByNo] * * * * Modification History: * * 03 May 2021 Natarajan S Created * * 13 July 2021 Natarajan S Modified - Formatted as per coding standard * * 16 August 2021 Vinodhkumar M Modified - Branch and ClientBank fields is added * * 03 Dec 2021 Vinodhkumar M Modified - Payment and clear date fields is added * * 07 Dec 2021 Vinodhkumar M Modified - CorrectCopy,Postfwd,invcr fields is added * *******************************************************************************************************/ BEGIN SET NOCOUNT ON SELECT [BAT].[BatchNo] AS [BatchNo], [BAT].[Type] AS [Type], [BAT].[Code] AS [Code], [BAT].[Ref] AS [Ref], [dbo].[KEYHM_FNConvertUTCDateToTargetTimeZone]([BAT].[Date], @handlerCode) AS [Date], [BAT].[BRANCH] AS [Branch], [BAT].[CLIENTBANK] AS [ClientBank], [BAT].[Matter] AS [Matter], [BAT].[Supp] AS [Supp], [BAT].[Narr] AS [Narr], [BAT].[Value] AS [Value], [BAT].[Posted] AS [Posted], [BAT].[PerNo] AS [PerNo], [BAT].[Year] AS [Year], [BAT].[EntryDate] AS [EntryDate], [BAT].[RecNo] AS [RecNo], [BAT].[ChequeReqNo] AS [ChequeReqNo], [BAT].[Pref] AS [Pref], [BAT].[Payee] AS [Payee], [dbo].[KEYHM_FNConvertUTCDateToTargetTimeZone]([BAT].[ENTRYDATE], @handlerCode) AS [ENTRYDATE], [BAT].[UserCode] AS [UserCode], [BAT].[EFTYorN] AS [EFTYorN], [BAT].[EFTSent] AS [EFTSent], [BAT].[ClientAc] AS [ClientAc], [BAT].[ThirdParty] AS [Thirdparty], [BAT].[PayClient] AS [PayClient], [BAT].[OnceOffPayment] AS [OnceOffPayment], [BAT].[ClientCode] AS [ClientCode], [BAT].[PaymentMethod] AS [PaymentMethod], [BAT].[ClearedDate] AS [ClearedDate], [BAT].[CORRECTCOPY] AS [CorrectCopy], [BAT].[POSTFWD] AS [PostFwd], [BAT].[INVCR] AS [Invcr] FROM [dbo].[BatchH] [BAT] WHERE [BAT].[BatchNo] = @BatchNo SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_GetBatchDetails',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_GetBatchDetails] GO CREATE PROCEDURE [dbo].[KAAS_GetBatchDetails] (@Type varchar(4) = '', @handlerCode VARCHAR(10) = '') AS /******************************************************************************************************* * Fetches the batch details of unposted receipts * * * * Stored Procedure Name : [dbo].[KAAS_GetBatchDetails] * * * * Modification History: * * 2021-03-19 Revathy D Created * * 2021-08-20 Vinodhkumar M Modifed-Added branch field * * 2021-09-03 Vinodhkumar M Modifed-Added vat total,outlay total,fee total * * 2021-11-08 Vinodhkumar M Modifed-Added Payment method, ClearedDate * * 2021-11-11 Vinodhkumar M Modifed-Changed Null to empty string for handlercode parameter * *******************************************************************************************************/ BEGIN SET NOCOUNT ON DECLARE @TEMP Table ([BatchNo] [int] NOT NULL, [Type] [char](1) NULL, [Code] [char](10) NULL, [Ref] [char](10) NULL, [Date] [datetime] NULL, [Matter] [varchar](20) NULL, [SubTotal] [decimal](17, 2) NULL, [Supp] [char](10) NULL, [Narr] [char](150) NULL, [Value] [decimal](17, 2) NULL, [Posted] [char](1) NULL, [Branch] [varchar](3) NULL, [PerNo] [smallint] NULL, [Year] [smallint] NULL, [EntryDate] [datetime] NULL, [RecNo] [int] NULL, [ChequeReqNo] [int] NULL, [UserCode] [char](8) NULL, [Pref] [int] NULL, [ClientAc] [char](1) NULL, [EFT] [char](1) NOT NULL, [ClientBank] [char](10) NULL, [ThirdParty] [char](1) NULL, [Payee] [char](60) NULL, [EFTSent] [char](1) NOT NULL, [PayClient] [char](1) NOT NULL, [OnceOffPayment] [char](1) NOT NULL, [ClientCode] [varchar](10) NULL, [Feetotal] [decimal](17, 2) NULL, [Outlaytotal] [decimal](17, 2) NULL, [VatTotal] [decimal](17, 2) NULL, [WriteDown] [datetime] NULL, [WriteBackHours] [decimal](7, 2) NULL, [WriteBackValue] [decimal](13, 2) NULL, [CreditInvoiceNo][int] NULL, [Invcr] [char](1) NULL, [Fee] [varchar](10) NULL, [PaymentMethod] [int] NULL, [ClearedDate] [datetime] NULL) INSERT INTO @TEMP SELECT [BAH].[BatchNo], RTRIM(ISNULL([BAH].[Type],'')), [BAH].[Code], RTRIM(ISNULL([BAH].[Ref],'')), dbo.KEYHM_FNConvertUTCDateToTargetTimeZone([BAH].[Date], @handlerCode), [BAH].[Matter], [BAH].[SUBTOT], [BAH].[Supp], [BAH].[Narr], [BAH].[Value], [BAH].[Posted], [BAH].[Branch], [BAH].[PerNo], [BAH].[Year], dbo.KEYHM_FNConvertUTCDateToTargetTimeZone([BAH].[EntryDate], @handlerCode) AS [EntryDate], [BAH].[RecNo], [BAH].[ChequeReqNo], [BAH].[UserCode], [BAH].[Pref], [BAH].[ClientAc], [BAH].[EFTYorN], [BAH].[CLIENTBANK], [BAH].[ThirdParty], [BAH].[Payee], [BAH].[EFTSent], [BAH].[PayClient], [BAH].[OnceOffPayment], [BAH].[ClientCode], [BAH].[FEETOT], [BAH].[OUTLAYTOT], [BAH].[VATTOT], [BAH].[WRITEDOWN], [BAH].[WRITEBACKHOURS], [BAH].[WRITEBACKVALUE], [BAH].[CREDITINVOICENO], [BAH].[INVCR], [BAH].[FEE], [BAH].[PaymentMethod], [BAH].[ClearedDate] FROM [dbo].[BatchH] [BAH] WHERE [BAH].[TYPE] = @Type IF @Type = 'M' BEGIN SELECT * FROM @TEMP [TEM] ORDER BY [TEM].[POSTED] ASC, [TEM].[ENTRYDATE] ASC END ELSE BEGIN SELECT * FROM @TEMP [TEM] WHERE [TEM].[POSTED] = 'N' ORDER BY [TEM].[POSTED] ASC, [TEM].[ENTRYDATE] ASC END SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_GetCaseAssociatesNames',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_GetCaseAssociatesNames] GO CREATE PROCEDURE [dbo].[KAAS_GetCaseAssociatesNames] ( @TypeCode varchar(1000) ) AS /******************************************************************************************************* * Fetches the case associate names * * * * Stored Procedure Name : [dbo].[KAAS_GetCaseAssociatesNames] * * * * Modification History: * * 2021-04-09 Revathy D Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON SELECT [ACV].[NAMECODE] AS Code, CASE WHEN RTRIM(ISNULL([CAN].[COMPANY],'')) <> '' THEN RTRIM([CAN].[NAME]) + ' ('+ RTRIM([CAN].[COMPANY]) +')' ELSE RTRIM([CAN].[NAME]) END AS [NameNCompany], [CAN].[ADDRESS] AS [Address], [CAN].[PHONENO] AS [Phone], [ACV].[CATEGORY] AS [Category], [ACV].[TYPECODE] AS [Type], [CAN].[NAME] AS [Name], [CAN].[COMPANY] AS [Company], RTRIM(ISNULL([CAT].[NAMECODE],'')) AS [NAMECODE], RTRIM(ISNULL([CAT].[TYPECODE],'')) AS [TYPECODE], [CAN].[NOTES] AS [Notes] FROM [dbo].[AssociateCategoryView] [ACV] LEFT OUTER JOIN [dbo].[CaseAssociatesNames] [CAN] ON [ACV].[NAMECODE]= [CAN].[CODE] LEFT OUTER JOIN [dbo].[CaseAssoicatesTypes] [CAT] ON [ACV].[NAMECODE]= [CAT].[NAMECODE] AND [ACV].[TYPECODE]= [CAT].[TYPECODE] WHERE UPPER([ACV].[TYPECODE]) = UPPER(@TypeCode) ORDER BY [ACV].[TYPECODE] ASC, [ACV].[NAMECODE] ASC SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_GetCategoryContactList',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_GetCategoryContactList] GO CREATE PROCEDURE [dbo].[KAAS_GetCategoryContactList] ( @CategoryType VARCHAR(10) = '', @Category VARCHAR(10) = '' ) AS /******************************************************************************************************* * Get contact list based on category code and type * * * * Stored Procedure Name : [dbo].[KAAS_GetCategoryContactList] * * * * Modification History: * * 2021-11-01 Vinodhkumar M Created * *******************************************************************************************************/ BEGIN SELECT [CAT].[RECORDID] AS [RecordId], [CAT].[CONTACT] AS [Contact], [CAT].[CATEGORYTYPE] AS [CategoryType], [CAT].[CATEGORY] AS [Category], [CAT].[DATE] AS [Date], [CAT].[FIELDVALUE1] AS [FieldValue1], [CAT].[FIELDVALUE2] AS [FieldValue2], [CAT].[FIELDVALUE3] AS [FieldValue3], [CAT].[FIELDVALUE4] AS [FieldValue4], [CAT].[FIELDVALUE5] AS [FieldValue5], [CAT].[FIELDVALUE6] AS [FieldValue6], [CAT].[FIELDVALUE7] AS [FieldValue7], [CAT].[FIELDVALUE8] AS [FieldValue8], [CAT].[FIELDVALUE9] AS [FieldValue9], [CAT].[FIELDVALUE10] AS [FieldValue10], [CONT].[Name] AS [Name] FROM [DBO].[ContactCategories] [CAT] LEFT JOIN [Contacts] [CONT] ON [CONT].[Code] = [CAT].[CONTACT] WHERE [CategoryType] = @CategoryType AND [Category] = @Category END GO IF OBJECT_ID(N'KAAS_GetCreditorsAllocateDetails', N'P') IS NOT NULL BEGIN DROP PROCEDURE [dbo].[KAAS_GetCreditorsAllocateDetails] END GO CREATE PROCEDURE [dbo].[KAAS_GetCreditorsAllocateDetails] (@BatchNo int) AS /******************************************************************************************************* * Fetches the Creditors Allocate details * * * * Stored Procedure Name : [dbo].[KAAS_GetCreditorsAllocateDetails] * * SAMPLE DATA [KAAS_GetCreditorsAllocateDetails] 5588 * * * Modification History: * * 2021-07-05 Natarajan S Created * * 2021-07-07 Natarajan S Modified Added record id * * 2021-07-09 Natarajan S Modified changed column record id to KeyId,added PRef * *******************************************************************************************************/ BEGIN SET NOCOUNT ON SELECT [SUP].[CODE] AS [Code], [SUP].[Name] AS [Name], [SLD].[Date] AS [Date], [SLD].[Ref] AS [Ref], [SLD].[Original] AS [Original], [SLD].[OSValue] AS [ToAllocate], [SLD].[Matter] AS [Matter], [SLD].[PREF] AS [PRef] FROM [dbo].[SupplierLedger] [SLD] INNER JOIN [dbo].[Suppliers] [SUP] ON [SUP].[Code] = [SLD].[Supp] WHERE [SLD].[BatchNo] = @BatchNo SELECT [ALC].[Date], [ALC].[ORef], [SLD].[Date] AS [AgainstDate], [ALC].[Value] AS [Allocated], [ALC].[UserCode], [ALC].[KeyId] FROM [dbo].[SupplierLedger] [SLD] INNER JOIN [dbo].[Allocations] [ALC] ON [SLD].[BatchNo] = [ALC].[BatchNo] WHERE [SLD].[BatchNo] = @BatchNo SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_GetCreditorsList',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_GetCreditorsList] GO CREATE PROCEDURE [dbo].[KAAS_GetCreditorsList] (@handlerCode VARCHAR(10) = NULL) AS /******************************************************************************************************* * Fetches the creditors list * * * * Stored Procedure Name : [dbo].[KAAS_GetCreditorsList] * * * * Modification History: * * 2021-10-01 Revathy D Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON SELECT [CLT].[SUPPLYCODE] AS [Supplycode], [CLT].[BATCHNO] AS [Batchno], [CLT].[PREF] AS [Pref], [CLT].[REF] AS [Ref], dbo.KEYHM_FNConvertUTCDateToTargetTimeZone([CLT].[DATE], @handlerCode) AS [Date], [CLT].[ORIGVALUE] AS [Origvalue], [CLT].[OSVALUE] AS [Osvalue], [CLT].[PAYVALUE] AS [Payvalue], [CLT].[RECORDID] AS [Recordid], [SUP].[CODE] AS [Code], [SUP].[NAME] AS [Name], [SUP].[NOMINAL] AS [Nominal] FROM [dbo].[CreditorsList] [CLT] LEFT OUTER JOIN [dbo].[Suppliers] [SUP] ON [CLT].[SUPPLYCODE] = [SUP].[CODE] ORDER BY [CLT].[SUPPLYCODE] ASC, [CLT].[BATCHNO] ASC, [CLT].[RECORDID] ASC SET NOCOUNT OFF END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_GetCurrentCaseDetailsData' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_GetCurrentCaseDetailsData] END GO CREATE PROCEDURE [dbo].[KAAS_GetCurrentCaseDetailsData] (@MatterCode VARCHAR(30)) AS /******************************************************************************************************* * This stored procedure is used to Get Current Case Details data associated with all the tabs in it. * * * * Stored Procedure Name : [dbo].[KAAS_GetCurrentCaseDetailsData] * * * * Modification History : * * 2019-05-21 Vinodhan K Created * * 2020-03-03 Arun V Have fixed date conversion error * 2020-12-02 Sadiq Picking [FeeType] also from Matter Table * * 2021-08-25 Revathy.D Added Outstanding Case dairy and undertaking * *******************************************************************************************************/ BEGIN SET NOCOUNT ON --Matter Details SELECT RTRIM(ISNULL(MAT.[ClientCode], '')) AS [ClientCode], RTRIM(ISNULL(MAT.[Matter], '')) AS [Matter], RTRIM(ISNULL(MAT.[Description], '')) AS [Description] , RTRIM(ISNULL(MAT.[FECode], '')) AS [FeeEarner], RTRIM(ISNULL(MAT.[Partner], '')) AS [Partner], RTRIM(ISNULL(MAT.[Secretary], '')) AS [Secretary], RTRIM(ISNULL(MAT.[Dept], '')) AS [Dept] , RTRIM(ISNULL(MAT.[WType], '')) AS [WType] , RTRIM(ISNULL(MAT.[OldRef], '')) AS [OldRef] , RTRIM(ISNULL(MAT.[User1], '')) AS [User1], RTRIM(ISNULL(MAT.[User2], '')) AS [User2], RTRIM(ISNULL(MAT.[User3], '')) AS [User3], RTRIM(ISNULL(MAT.[YourRef], '')) AS [YourRef], CASE WHEN RTRIM(ISNULL(MAT.[Statements], '')) = 'Y' THEN 'True' ELSE 'False' END AS [Statements], ISNULL(MAT.[Importance], 0) AS [Importance], RTRIM(ISNULL(MAT.[Status], '')) AS [Status], RTRIM(ISNULL(MAT.[FileColour], '')) AS [FileColour], ISNULL(MAT.[Value], 0) AS [ValueToClient], ISNULL(CONVERT(NVARCHAR(30),MAT.[Started],23),'') AS [Started], ISNULL(convert(NVARCHAR(30),MAT.[StatuteLimits],23),'') AS [StatuteLimits], RTRIM(ISNULL(MAT.[DepositName], '')) AS [DepositName], ISNULL(MAT.[EstFee], 0) AS [EstFee], ISNULL(CONVERT(NVARCHAR(30),MAT.[ExpBillD],23),'') AS [ExpBillD], CASE WHEN RTRIM(ISNULL(MAT.[Section68], '')) = 'Y' THEN 'True' ELSE 'False' END AS [EstimateGiven], CASE WHEN RTRIM(ISNULL(MAT.[S13], '')) = 'Y' THEN 'True' ELSE 'False' END AS [S13], ISNULL(MAT.[OutlayBud], 0) AS [OutlayBud], RTRIM(ISNULL(MAT.[DepositType], '')) AS [DepositType], RTRIM(ISNULL(MAT.[Comment], '')) AS [Comment], ISNULL(MAT.[ChargeLevel], 0) AS [ChargeLevel], ISNULL(MAT.[DebtCollected], 0) AS [DebtCollected], RTRIM(ISNULL(MAT.[ClientName], '')) AS [ClientName], RTRIM(ISNULL(MAT.[ClientAddress], '')) AS [ClientAddress], RTRIM(ISNULL(MAT.[ClientSalutation], '')) AS [ClientSalutation], RTRIM(ISNULL(MAT.[ChargeArrangement], '')) AS [ChargeArrangement], CASE WHEN RTRIM(ISNULL(MAT.[ChargeOutRateInd], '')) = 'Y' THEN 'True' ELSE 'False' END AS [ChargeOutRateInd], RTRIM(ISNULL(MAT.[CompFrequency], '')) AS [BillingType], RTRIM(ISNULL(MAT.[BillingMethod], '')) AS [BillingMethod], CASE WHEN RTRIM(ISNULL(MAT.[Publish], '')) = 'P' THEN 'True' ELSE 'False' END AS [Publish], RTRIM(ISNULL(CSM.[CSPREMISES], '')) AS [Premises], RTRIM(ISNULL(CSM.[CSWKTCODE], '')) AS [CasePlanType], ISNULL(MAT.[CollectingBalance], 0) AS [CollectingBalance], RTRIM(ISNULL(MAT.[PCode], '')) AS [PCode], RTRIM(ISNULL(MAT.[PFECode], '')) AS [PFECode], RTRIM(ISNULL(CSM.[CSCLBENYN], '')) AS [CSCLBENYN], RTRIM(ISNULL(CSM.[CSCLEXEYN], '')) AS [CSCLEXEYN], ISNULL(CSM.[CSDATEACCEPT_DATE],'') AS [CSDATEACCEPT_DATE], ISNULL(MAT.[OriginalDebt], 0) AS [CSORGDEBT], -- John 2015-11-12 This field is used more often (e.g. reports, case import) ISNULL(CSM.[CSBALDEBT], 0) AS [CSBALDEBT], RTRIM(ISNULL(CSM.[CSIRTCODE], '')) AS [InterestCode], RTRIM(ISNULL(CSM.[CSPLAINTNO], '')) AS [RecordNo], RTRIM(ISNULL(MAT.[FixedFee], '')) AS [FixedFee], RTRIM(ISNULL(MAT.[ShowCommentInAlarm], '')) AS [ShowCommentInAlarm], RTRIM(ISNULL(MAT.[Closed], '')) AS [Closed], ISNULL(MAT.[OrgClosedDate],'') AS [OrgClosedDate], ISNULL(MAT.[CloseDate],'') AS [CloseDate], RTRIM(ISNULL(FCL.[COLOURDESC], '')) AS [FileColourDescription], ISNULL(FCL.[RGBColour], -1) AS [FileColourRGB], RTRIM(ISNULL(MAT.[CompBillingMatter], '')) AS [CompBillingMatter], RTRIM(ISNULL(MAT.[Branch], '')) AS [Branch], ISNULL(MAT.[FileNum], 0) AS [FileNum], ISNULL(MAT.[ClosingDate],'') AS [ClosingDate], RTRIM(ISNULL(MAT.[Location], '')) AS [Location], RTRIM(ISNULL(MAT.[ArchiveLocation], '')) AS [ArchiveLocation], RTRIM(ISNULL(MAT.[FileBarCodeNo], '')) AS [FileBarCodeNo], RTRIM(ISNULL(MAT.[BoxBarCodeNo], '')) AS [BoxBarCodeNo], RTRIM(ISNULL(MAT.[BoxNumber], '')) AS [BoxNumber], ISNULL(CONVERT(NVARCHAR(30),MAT.[DestroyDate],23),'') AS [DestroyDate], ISNULL(CONVERT(NVARCHAR(30),[ActualDestroyDate],23),'') AS [ActualDestroyDate], RTRIM(ISNULL(MAT.[DestroyedBy], '')) AS [DestroyedBy], REPLACE(ISNULL(S.Retired,'N'),' ','N') AS [Retired], REPLACE(ISNULL(FCL.Retired,'N'),' ','N') AS [FileColourRetired], REPLACE(ISNULL(FE.Retired,'N'),' ','N') AS [FeeEarnerRetired], REPLACE(ISNULL(D.RETIRED,'N'),' ','N') AS [DepartmentRetired], REPLACE(ISNULL(W.RETIRED,'N'),' ','N') AS [WorkTypeRetired], REPLACE(ISNULL(P.RETIRED,'N'),' ','N') AS [PartnerRetired], REPLACE(ISNULL(T.RETIRED,'N'),' ','N') AS [CasePlanRetired], RTRIM(ISNULL(MAT.[BillingFE], '')) AS [BillingFeeEarner], ISNULL(MAT.[Started],'') AS [Started1], MAT.[FeeType], CASE WHEN ISNULL(MAT.NoWinNoFee,'N') = 'Y' THEN 'True' ELSE 'False' END AS [NoWinNoFee] FROM [dbo].[matters] MAT LEFT JOIN [dbo].[CaseMaster] CSM ON CSM.[CSCODE] = MAT.[Code] LEFT OUTER JOIN [dbo].[FileColours] FCL ON FCL.[COLOURCODE] = MAT.[FileColour] LEFT JOIN StatusCodes S ON MAT.[Status] = S.CODE LEFT JOIN FeeEarnerCodes FE ON RTRIM(MAT.FECode) = RTRIM(FE.Code) LEFT JOIN Departments D ON RTRIM(MAT.Dept) = RTRIM(D.CODE) LEFT JOIN WorkTypes W ON RTRIM(MAT.WType) = RTRIM(W.CODE) LEFT JOIN Partners P ON RTRIM(MAT.[Partner]) = RTRIM(P.CODE) LEFT JOIN Templates T ON RTRIM(CSM.CSWKTCODE) = RTRIM(T.WKCODE) WHERE MAT.[Code] = @MatterCode --Privileges EXEC KAAS_GetMatterPrivilegeGroups @MatterCode --Udf Fields SELECT RTRIM(ISNULL(UFC.[UDFCategory], '')) AS [UDFCategory], RTRIM(ISNULL(SUF.[PROMPT], '')) AS [Prompt], CASE RTRIM(ISNULL(SUF.[TYPE], '')) WHEN 'Text' THEN CONVERT(VARCHAR(200), CUF.[TEXT1]) WHEN 'Numeric' THEN CONVERT(VARCHAR(50), CUF.[NumberValue]) WHEN 'Date' THEN CONVERT(VARCHAR, CUF.[DateValue], 106) ELSE CONVERT(VARCHAR(200), CUF.[TEXT1]) END AS [Value], RTRIM(ISNULL(CUF.[CASECODE], '')) AS [CaseCode], RTRIM(ISNULL(CUF.[UDFFile], '')) AS [UDFFile], RTRIM(ISNULL(CUF.[UDFNAME], '')) AS [UDFName], ISNULL(CUF.[SEQNO], 0) AS [SeqNo], RTRIM(ISNULL(CUF.[TEXT1], '-')) AS [Text1], RTRIM(ISNULL(SUF.[FILEPREFIX], '')) AS [FilePrefix], RTRIM(ISNULL(SUF.[FIELDNAME], '')) AS [FieldName], RTRIM(ISNULL(SUF.[FORMAT], '')) AS [Format], RTRIM(ISNULL(SUF.[ACTUALNAME], '')) AS [ActualName], ISNULL(CUF.[NumberValue], 0) AS [NumberValue], CUF.[DateValue] AS [DateValue] FROM [dbo].[CaseUDFAnswers] CUF INNER JOIN [dbo].[SystemUserDefinedFields] SUF ON SUF.[FILEPREFIX] = CUF.[UDFFile] AND SUF.[FIELDNAME] = CUF.[UDFNAME] INNER JOIN [dbo].[UDFCategory] UFC ON UFC.[ID] = SUF.[UDFCategory] WHERE CUF.[CASECODE] = @MatterCode ORDER BY ISNULL(CUF.[SEQNO], 0) --Case Associates SELECT IDENTITY(INT, 1,1) AS [Row_Number], * INTO #FoundTable FROM (SELECT RTRIM(ISNULL(CSC.[CASECODE], '')) AS [CaseCode], RTRIM(CSC.[CONTYPE]) AS [ConType], ISNULL(CSC.[CONNUM], 0) AS [ConNum], RTRIM(ISNULL(CSC.[NAMECODE], '')) AS [ConNameCode], RTRIM(ISNULL(CSC.[SOLCODE], '')) AS [SolCode], RTRIM(ISNULL(CSC.[SOLREF], '')) AS [SolRef], RTRIM(ISNULL(CSC.[INSCODE], '')) AS [InsCode], ISNULL(CSC.[ASSIGNEDCONTACT], 0) AS [AssignedContact], RTRIM(ISNULL(CAC.[NAMECODE], '')) AS [AssociateNameCode], ISNULL(CAC.[KEYID], 0) AS [KeyId], RTRIM(ISNULL(CAC.[NAME], '')) AS [ConName], RTRIM(ISNULL(CAC.[PHONE], '')) AS [Phone], RTRIM(ISNULL(CAC.[EMAIL], '')) AS [ConEmail], RTRIM(ISNULL(AST.[CODE], '')) AS [Code], RTRIM(ISNULL(AST.[DESCRIPTION], '')) AS [Description], RTRIM(ISNULL(CAN.[CODE], '')) AS [ConCode], RTRIM(ISNULL(CAN.[TYPE], '')) AS [Type], RTRIM(ISNULL(CAN.[NAME], '')) AS [AssociateName], RTRIM(ISNULL(CAN.[COMPANY], '')) AS [Company], RTRIM(ISNULL(CAN.[ADDRESS], '')) AS [Address], RTRIM(ISNULL(CAN.[PHONENO], '')) AS [PhoneNo], RTRIM(ISNULL(CAN.[MOBILENO], '')) AS [MobileNo], RTRIM(ISNULL(CAN.[EMAIL], '')) AS [AssociateEmail], RTRIM(ISNULL(CAN.[SEARCH], '')) AS [Search], ISNULL(CAN.[CONTACTNO], 0) AS [ContactNo], RTRIM(ISNULL(CAN.[SALUTATION], '')) AS [Salutation], ISNULL(CSC.[CONNUM], 0) AS [Seq], CASE WHEN RTRIM(ISNULL(CAN.[COMPANY], '')) <> '' THEN LTRIM( RTRIM(ISNULL(CAN.[NAME], '')) + ' (' + RTRIM(ISNULL(CAN.[COMPANY], '')) + ')') ELSE RTRIM(ISNULL(CAN.[NAME], '')) END AS [NameCompany], ISNULL(CSC.Retired,'N') AS [Retired] FROM [dbo].[CaseContacts] CSC LEFT JOIN [dbo].[CaseAssociatesContacts] CAC ON CAC.[KEYID] = CSC.[AssignedContact] LEFT JOIN [dbo].[AssociateTypes] AST ON AST.[CODE] = CSC.[CONTYPE] LEFT JOIN [dbo].[CaseAssociatesNames] CAN ON CAN.[CODE] = CSC.[NAMECODE] AND CAN.[NAME] <> '' AND CAN.[NAME] <> 'N/A' AND CAN.[NAME] IS NOT NULL WHERE CSC.[CASECODE] = @MatterCode AND CSC.[NAMECODE] <> '' AND CSC.[NAMECODE] <> 'N/A' AND CSC.[NAMECODE] IS NOT NULL) AS FoundTable ORDER BY [CASECODE], [CONTYPE], [CONNUM] SELECT * FROM #FoundTable --ChargeOut Rate Indicator SELECT MCOR.[RecordID] AS [RecordId], RTRIM(MCOR.[FeCode]) AS [FeCode], ISNULL(MCOR.[Rate], 0) AS [Rate], MCOR.[EffectiveDate] AS [EffectiveDate], COALESCE(HAN.[Name], HCG.[Name], MCOR.[FeCode]) AS [FeeEarnerName], CASE WHEN ISNULL(HAN.[Retired], 'N') = 'Y' THEN ISNULL(HAN.[Retired], 'N') ELSE ISNULL(HCG.[Retired], 'N') END AS [IsRetired] FROM [dbo].[MatterChargeOutRates] AS MCOR LEFT OUTER JOIN [dbo].[Handlers] AS HAN ON HAN.[Code] = MCOR.[FeCode] LEFT OUTER JOIN [dbo].[HandlerChargeGroups] AS HCG ON HCG.[Code] = MCOR.[FeCode] WHERE MCOR.[MatterCode] = @MatterCode AND (ISNULL(HAN.[Retired], 'N') <> 'Y' OR ISNULL(HCG.[Retired], 'N') <> 'Y') --Linked Cases List SELECT LMT.[RecordId] AS [RecordId], MAT.[Code] AS [CaseCode], MAT.[FECode] AS [FeeEarner], CNT.[Name] AS [Name], MAT.[Description] AS [Description], LMT.[RelationShip] AS [Relationship] FROM [dbo].[LinkedMatters] LMT INNER JOIN [dbo].[matters] MAT ON MAT.[Code] = LMT.[LinkedMatter] INNER JOIN [dbo].[Contacts] CNT ON CNT.[Code] = MAT.[ClientCode] WHERE LMT.[PrimeMatter] = @MatterCode --Revenue Module SELECT RTRIM(LTRIM(ISNULL(MCC.[CheckCharacter], '') )) AS [CheckCharacter], RTRIM(LTRIM(ISNULL(MCC.[AddCheckCharacter], ''))) AS [AddCheckCharacter] FROM [dbo].[MatterCheckChars] AS MCC WHERE MCC.[MatterCode] = @MatterCode --Locations EXECUTE KAAS_ListItemLocations --Outstanding Undertaking and Case diary SELECT COUNT(1) OutstandingUndertaking FROM [dbo].[Undertakings] UTS WHERE [UTS].[Matter] = @MatterCode AND ISNULL([UTS].[DischargeDate],'') = '' SELECT COUNT(1) OutstandingCaseDiary FROM [dbo].[Diary] DRY WHERE [DRY].[casecode] = @MatterCode AND ISNULL([DRY].[Status],0) = 0 SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_GetDateValidationControls',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_GetDateValidationControls] GO CREATE PROCEDURE [dbo].[KAAS_GetDateValidationControls] AS /******************************************************************************************************* * This sp is used to GET THE CONTROL setting * * * * Stored Procedure Name : [dbo].[KAAS_GetDateValidationControls] * * * * Modification History: * * 2021-05-19 Revathy Created * * 2021-05-23 Balamurugan Modified - Default Outlay Code Added * *******************************************************************************************************/ BEGIN SET NOCOUNT ON SELECT CASE WHEN [DateFutValidation] = '' THEN 0 ELSE ISNULL([DateFutValidation],0) END AS DateFutValidation, CASE WHEN [DatePastValidation] = '' THEN 0 ELSE ISNULL([DatePastValidation],0) END AS DatePastValidation, ISNULL(VAC.[Code],'') AS DefaultVATCode, ISNULL(VAC.[Rate],0.00) AS DefaultVATRate, RTRIM(ISNULL(CNL.[Creditor],'')) AS CreditorControlAc, RTRIM(ISNULL(CNL.[Client],'')) AS ClientControlAc, RTRIM(ISNULL(CNL.[DefaultClientAc],'')) AS DefaultClientAc, RTRIM(ISNULL(CNL.[DefaultClientDep],'')) AS DefaultClientDepAc, YearEndDate AS YearEndDate, [dbo].[KAAS_FN_GetDateFromClarion](PeriodEnd) AS PeriodEndDate, RTRIM(Outlay) AS DefaultOutlayCode FROM [dbo].[CONTROL] CNL LEFT JOIN [dbo].[VATcodes] VAC ON CNL.[Vatexclude] = VAC.[Code] SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_GetDebtorsLedgerDetailsByClient', N'P') IS NOT NULL BEGIN DROP PROCEDURE [dbo].[KAAS_GetDebtorsLedgerDetailsByClient] END GO CREATE PROCEDURE [dbo].[KAAS_GetDebtorsLedgerDetailsByClient] ( @Code VARCHAR(10) = '' ) AS /******************************************************************************************************* * Fetches the Debtors Ledger details by client * * * * Stored Procedure Name : [dbo].[KAAS_GetDebtorsLedgerDetailsByClient] * * * * Modification History: * * 2021-07-06 Balamurugan C Created * * 2021-11-11 Balamurugan C Updated - Batch No is added * *******************************************************************************************************/ BEGIN SELECT [BatchNo], [RecordId], [Type], [Date], [Matter], [Ref], [Narr], [Original], [OsValue] FROM [dbo].[DebtorsLedger] WHERE [Client]=@Code ORDER BY [Client] ASC END GO IF OBJECT_ID(N'KAAS_GetFeeEarnerCodesMasterDetails', N'P') IS NOT NULL BEGIN DROP PROCEDURE [dbo].[KAAS_GetFeeEarnerCodesMasterDetails] END GO CREATE PROCEDURE [dbo].[KAAS_GetFeeEarnerCodesMasterDetails] ( @Code VARCHAR(10) = '' ) AS /******************************************************************************************************* * Fetch the Fee Earner Codes Master details * * * * Stored Procedure Name : [dbo].[KAAS_GetFeeEarnerCodesMasterDetails] * * * * Modification History: * * 2021-06-23 Balamurugan C Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON SELECT [Code], [Name], [Nominal], [Retired] FROM [dbo].[FeeEarnerCodes] WHERE [CODE] = @Code ORDER BY [CODE] SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_GetHandlerDropdownList', N'P') IS NOT NULL BEGIN DROP PROCEDURE [dbo].[KAAS_GetHandlerDropdownList] END GO CREATE PROCEDURE [dbo].[KAAS_GetHandlerDropdownList] AS BEGIN /************************************************************************************************************* * * * [dbo].[KAAS_GetHandlerDropdownList] * * * * Description: This procedure is used to check Handler Code exists or not * * * * ***************************************************************************************************** * * * * Modification history: * * 2021-06-25 Natarajan S Created * * 2021-06-29 Natarajan S Modified - Added charges group * * 2021-07-09 Balamurugan C Modified - Fee Earner Details * *************************************************************************************************************/ SELECT [HAN].[Code] AS [Code], [HAN].[Team] AS [Description] FROM [dbo].[Handlers] [HAN] WHERE [HAN].[TeamCode] = 'Y' AND [HAN].[Retired]='N' ORDER BY [HAN].[Code] ASC SELECT [FEE].[Code], [FEE].[Name] AS [Description], [FEE].[Retired] FROM [dbo].[FeeEarnerCodes] FEE ORDER BY [FEE].[Code] ASC SELECT RTRIM([TAC].[Code]) AS [Code], [TAC].[Desc] AS [Description] FROM [dbo].[TasksCodes] [TAC] WHERE [TAC].[AxleTask] = 'N' OR [TAC].[AxleTask] = '''' ORDER BY [TAC].[Code] ASC SELECT RTRIM([HAN].[Code]) AS [Code], [HAN].[Name] AS [Description] FROM [dbo].[Handlers] [HAN] LEFT OUTER JOIN [dbo].[NoOverDueTasks] [NOT] ON [HAN].[Code]= [NOT].[Handler] WHERE [HAN].[Retired] <> 'Y' AND [HAN].[Code] <> 'JP ' ORDER BY [HAN].Code ASC SELECT [DEP].[Code] AS [Code], [DEP].[Description] AS [Description] FROM [dbo].Departments [DEP] SELECT RTRIM([BCH].[BranchCode]) AS [Code], [BCH].[Description] AS [Description] FROM [dbo].[Branch] [BCH] WHERE [BCH].[Retired]=0 SELECT RTRIM([HCG].[Code]) AS [Code], [HCG].[Name] AS [Description] FROM [dbo].[HandlerChargeGroups] [HCG] END GO IF OBJECT_ID(N'KAAS_GetHandlersMaster', N'P') IS NOT NULL BEGIN DROP PROCEDURE [dbo].[KAAS_GetHandlersMaster] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[KAAS_GetHandlersMaster] AS /******************************************************************************************************* * Fetches Handlers master list * * * * Stored Procedure Name : [dbo].[KAAS_GetHandlersMaster] * * * * Modification History: * * 2021-05-21 Natarajan S Created * *******************************************************************************************************/ BEGIN SELECT [HAN].CODE AS [Code], [HAN].TEAM AS [Team], [HAN].NAME AS [Name], [HAN].RATE AS [Rate], [HAN].RETIRED AS [Retired] FROM [dbo].Handlers AS [HAN] ORDER BY [HAN].CODE ASC END GO IF EXISTS(SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_GetInvoiceList' AND SO.[type] = 'P' ) BEGIN DROP PROCEDURE [dbo].[KAAS_GetInvoiceList] END GO CREATE PROCEDURE [dbo].[KAAS_GetInvoiceList] ( @Matter VARCHAR(50) = NULL ) AS /******************************************************************************************************* * Fetches the Invoice list * * * * Stored Procedure Name : [dbo].[KAAS_GetInvoiceList] '000001/0003' * * * * Modification History: * * 14 Jul 2021 Natarajan S Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON SELECT [DBL].[RecordId] AS [RecordId], [DBL].[BATCHNO] AS [BatchNo], [DBL].[Type] AS [Type], [DBL].[Ref] AS [Ref], [CON].[Name] AS [Narr], [DBL].[Date] AS [Date], [DBL].[Original] AS [Original], [DBL].[OSValue] AS [OsValue], [DBL].[OSFees] AS [OsFees], [DBL].[OsOutlay] AS [OsOutlay], [DBL].[OsVat] AS [OsVat] FROM [dbo].[DebtorsLedger] [DBL] LEFT OUTER JOIN [dbo].[Matters] [MAT] ON [DBL].[MATTER] = [MAT].[Code] LEFT OUTER JOIN [dbo].[Contacts] [CON] ON [MAT].[ClientCode] = [CON].[Code] WHERE [DBL].[Matter] = @Matter AND [DBL].[OSValue] > 0 ORDER BY [DBL].[Matter] ASC, [DBL].[Date] ASC, [DBL].[RecordId] ASC SET NOCOUNT OFF END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_GetInvoiceList' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_GetInvoiceList] END GO CREATE PROCEDURE [dbo].[KAAS_GetInvoiceList] ( @Matter VARCHAR(50) = NULL ) AS /******************************************************************************************************* * Fetches the Invoice list * * * * Stored Procedure Name : [dbo].[KAAS_GetInvoiceList] '000001/0003' * * * * Modification History: * * 14 Jul 2021 Natarajan S Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON SELECT [DBL].[RecordId] AS [RecordId], [DBL].[BATCHNO] AS [BatchNo], [DBL].[Type] AS [Type], [DBL].[Ref] AS [Ref], [CON].[Name] AS [Narr], [DBL].[Date] AS [Date], [DBL].[Original] AS [Original], [DBL].[OSValue] AS [OsValue], [DBL].[OSFees] AS [OsFees], [DBL].[OsOutlay] AS [OsOutlay], [DBL].[OsVat] AS [OsVat], [DBL].[Pref] AS [Pref] FROM [dbo].[DebtorsLedger] [DBL] LEFT OUTER JOIN [dbo].[Matters] [MAT] ON [DBL].[MATTER] = [MAT].[Code] LEFT OUTER JOIN [dbo].[Contacts] [CON] ON [MAT].[ClientCode] = [CON].[Code] WHERE [DBL].[Matter] = @Matter AND [DBL].[OSValue] > 0 ORDER BY [DBL].[Matter] ASC, [DBL].[Date] ASC, [DBL].[RecordId] ASC SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_GetMatterValues',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_GetMatterValues] GO CREATE PROC dbo.[KAAS_GetMatterValues] ( @MatterCode VARCHAR(20) ) AS /******************************************************************************************************* * To fetch the matter billing details * * * * Stored Procedure Name : [dbo].[KAAS_GetMatterValues] * * * * Modification History: * * 2021-05-18 Revathy D Created * * 2021-11-30 Vinodhkumar M Modified - MatterCode values fetch from matters table * * 2021-11-30 Balamurugan C Modified - Added Client Balance * *******************************************************************************************************/ BEGIN SET NOCOUNT ON DECLARE @RECORDCOUNT INT SET @RECORDCOUNT = (SELECT COUNT(*) FROM [dbo].[Matters] WHERE [Code] = @MatterCode) IF( @RECORDCOUNT > 0) BEGIN SELECT [MAT].[DebtBal] AS [BillingAc], [MAT].[OutlayBal] AS [OutlayAc], [MAT].[ClientCurBal] AS [CurrentAc], [MAT].[ClientDepBal] AS [DepositAc], [MAT].[ClientBal] AS [ClientBal] FROM [dbo].[Matters] [MAT] WHERE [MAT].[Code] = @MatterCode END ELSE BEGIN SELECT 0.00 OutlayAc, 0.00 BillingAc, 0.00 CurrentAc, 0.00 DepositAc, 0.00 ClientBal END SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_GetNextPrefNBatchNo',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_GetNextPrefNBatchNo] GO CREATE PROCEDURE [dbo].[KAAS_GetNextPrefNBatchNo] ( @IsBatchHeader VARCHAR(1) = 'Y', @IsUpdateBillHeader VARCHAR(1) = 'N' ) AS /******************************************************************************************************* * Fetches the next Posting ref and batch number * * * * Stored Procedure Name : [dbo].[KAAS_GetNextPrefNBatchNo] * * * * Modification History: * * 2021-04-10 Revathy D Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON DECLARE @NEWBATCH INT SET @NEWBATCH = (SELECT LASTBATCH FROM control) +1 DECLARE @NEWPREF INT SET @NEWPREF = ( SELECT LASTPREF FROM control) +1 DECLARE @NEWBILL INT SET @NEWBILL = ( SELECT LASTBILL FROM control) +1 IF(@IsBatchHeader = 'Y') BEGIN UPDATE [dbo].[control] SET [LASTBATCH] = @NEWBATCH, [LASTPREF] = @NEWPREF END ELSE BEGIN UPDATE [dbo].[control] SET [LASTPREF] = @NEWPREF END IF(@IsUpdateBillHeader = 'Y') BEGIN UPDATE [dbo].[control] SET [LASTBILL] = @NEWBILL END SELECT [LASTBATCH] AS [BatchNo], [LASTPREF] AS [Pref], [CURPER] AS [CurPer], [YEAR] AS [Year], [LASTBILL] AS [BillNo] FROM [dbo].[control] SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_GetNominalAccountsDetails', N'P') IS NOT NULL BEGIN DROP PROCEDURE [dbo].[KAAS_GetNominalAccountsDetails] END GO CREATE PROCEDURE [dbo].[KAAS_GetNominalAccountsDetails] ( @Code VARCHAR(10) = '', @Mode VARCHAR(10) = 'GRID' ) AS /******************************************************************************************************* * Fetches the Nomonal details * * * * Stored Procedure Name : [dbo].[KAAS_GetNominalAccountsDetails] * * * * Modification History: * * 2021-04-28 Balamurugan C Created * * 2021-05-04 Balamurugan C Dropdown Values Added * * 2021-06-25 Balamurugan C Select Nominal Details By Code * * 2021-10-12 Vinodhkumar M retired,Seq - columns added * *******************************************************************************************************/ BEGIN SET NOCOUNT ON /*MASTER DETAILS FROM NOMINAL TABLE*/ IF(@Mode='GRID') BEGIN SELECT [Code], [Desc], [Type], [Pb], [Retired], [Seq] FROM [dbo].[Nominal] ORDER BY [Code] ASC END ELSE BEGIN SELECT [Code], [Desc], [Type], [Pb], [Seq], [Retired], [ClientAc], [DepositYN], [DepositType], [ChequeReq], [ChequePrinter], [LastNo], [Bank], [BankBranch], [BankType], [BankPhone], [BankAddress], [AccountNo], [AccountName], [SortCode], [WithdrawNames], [AcOpened], [AcClosed], [Iban], [Bic], [OrgIDNumber] FROM [dbo].[Nominal] WHERE [Code] = @Code ORDER BY [Code] ASC END /*STATIC DETAILS FOR NOMINAL TYPE DROPDOWN*/ SELECT RTRIM([NTYCODE]) AS 'Code', RTRIM([NTYDESC]) AS 'Description' FROM [dbo].[NominalTypes] ORDER BY [NTYCODE] ASC /*STATIC DETAILS FOR NOMINAL REQPORT SEQ*/ SELECT RTRIM([CODE]) AS 'Code', RTRIM([DESC]) AS 'Desc', [PB] AS 'Pb' FROM [dbo].[NominalReportSeq] ORDER BY [Code] ASC /*STATIC DETAILS FOR DEPOSIT TYPE*/ SELECT RTRIM([CODE]) AS 'Code', RTRIM([DESCRIPTION]) AS 'Description' FROM [dbo].[DepositType] ORDER BY [Code] ASC SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_GetNominalBudgetDetails', N'P') IS NOT NULL BEGIN DROP PROCEDURE [dbo].[KAAS_GetNominalBudgetDetails] END GO CREATE PROCEDURE [dbo].[KAAS_GetNominalBudgetDetails] ( @Year INT = 0, @Code VARCHAR(10) = '' ) AS /******************************************************************************************************* * Fetches the Nomonal Budget details * * * * Stored Procedure Name : [dbo].[KAAS_GetNominalBudgetDetails] * * * * Modification History: * * 2021-05-06 Balamurugan C Created * * 2021-06-23 Balamurugan C Added Code where clause * *******************************************************************************************************/ BEGIN SET NOCOUNT ON /*GRID DETAILS FROM NOMINAL BUDGET*/ SELECT [NOM].[RecordID], [NOM].[Code], [NOM].[Branch], [NOM].[Year], [NOM].[Period], [NOM].[Budget] FROM [dbo].[NominalBudgets] [NOM] WHERE [NOM].[Year] = @Year AND [NOM].[Code] = @Code ORDER BY [NOM].[Code] ASC SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_GetNominalLedgerDetails', N'P') IS NOT NULL BEGIN DROP PROCEDURE [dbo].[KAAS_GetNominalLedgerDetails] END GO CREATE PROCEDURE [dbo].[KAAS_GetNominalLedgerDetails] ( @Year INT = 0, @Code VARCHAR(10) = '', @Flag VARCHAR(15) = '' ) AS /******************************************************************************************************* * Fetches the Nominal Ledger details * * * * Stored Procedure Name : [dbo].[KAAS_GetNominalLedgerDetails] * * * * Modification History: * * 2021-05-14 Balamurugan C Created * * 2021-05-14 Prabhu V Added Type column to identity Bank type Account * * 2021-09-23 Prabhu V Added Alias name to prevent ambiguous error * *******************************************************************************************************/ BEGIN SET NOCOUNT ON /*NOMINAL TYPE LIST*/ IF(@Flag='NOMINALDETAILS') BEGIN SELECT [Code], [Desc], [Type] FROM [dbo].[Nominal] ORDER BY [Code] ASC END /*GRID DETAILS FROM NOMINAL LEDGER*/ IF(@Flag='NOMINALLEDGER') BEGIN SELECT [NOL].[Pref], [NOL].[Date], [NOL].[RecordId], [NOL].[Code], [NOL].[Ref], [NOL].[Narr], [NOL].[Matter], [NOL].[Supp], [NOL].[Value], [NOL].[BatchNo], [NOL].[Branch], [NOL].[Year], [NOL].[ClearedDate], [BH].[Type] FROM [dbo].[NominalLedger] [NOL] LEFT JOIN [BatchH] [BH] ON [BH].[BatchNo] = [NOL].[BatchNo] WHERE [NOL].[Code] = @Code AND [NOL].[Year] = @Year ORDER BY [NOL].[Code] ASC END SET NOCOUNT OFF END GO IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[KAAS_GetNominalList]') AND type in (N'P', N'PC')) BEGIN DROP PROCEDURE [dbo].[KAAS_GetNominalList] END GO CREATE PROCEDURE [dbo].[KAAS_GetNominalList] AS /******************************************************************************************************* * Fetches the Nominal list * * * * Stored Procedure Name : [dbo].[KAAS_GetNominalList] * * * * Modification History: * * 2021-03-23 Revathy D Created * *******************************************************************************************************/ BEGIN SELECT NOM.[CODE] AS Code, NOM.[DESC] AS [Description] FROM [dbo].[Nominal] NOM ORDER BY NOM.[CODE] ASC END GO IF EXISTS (SELECT TOP 1 1 FROM SYS.[objects] SO WHERE SO.[name] = N'KAAS_GetOpenMatterDetails' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_GetOpenMatterDetails] END GO CREATE PROCEDURE [dbo].[KAAS_GetOpenMatterDetails] AS /************************************************************************************ * Fetching Open Matter Details * * * * 2021-03-10 Prabhu.V Created to Fetch the Open Matter details for SAM * * 2021-10-07 Balamurugan.C Added ChargeBal Field * * 2021-11-23 Vinodhkumar.M Added outlayBal,CLientCurBal,ClientDepBal Field * ************************************************************************************/ BEGIN SELECT A.[Code], A.[ClientCode], A.[Description], A.[FECODE] As FeeCode, A.[Dept], A.[WTYPE] As WorkType, A.[Branch], A.[Comment], A.[FileNum], A.[ThirdPart], A.[THPARTSOL], A.[OldRef], A.[PCode], A.[PFECode], A.[User1], A.[User2], A.[User3], A.[FileColour], A.[OUTFILENO], A.[Closed], A.[ChargeBal], B.[CODE], B.[Name], B.[Address], B.[FE], B.[CLIENT], B.[CLIENTGROUP], B.[OTHERREF], B.[OPSISREF], B.[CONTACTNO], B.[COMPBILLONOFF], B.[TAXTYPE], A.[OutlayBal], A.[ClientCurBal], A.[ClientDepBal] FROM dbo.[Matters] A left join dbo.[RecentMatterList] R ON R.[MATTER] = A.[Code] AND R.[FEE]= 'ADM' LEFT OUTER JOIN dbo.[contacts] B ON A.[CLIENTCODE]= B.[CODE] WHERE [Closed] <> 'Y' --GROUP BY [A].[Code] ORDER BY R.[DateField] DESC END GO IF OBJECT_ID(N'KAAS_GetOutlayCodeList',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_GetOutlayCodeList] GO CREATE PROCEDURE [dbo].[KAAS_GetOutlayCodeList] AS /******************************************************************************************************* * Fetches the Nominal list * * * * Stored Procedure Name : [dbo].[GetOutlayCodeList] * * * * Modification History: * * 2021-03-23 Revathy D Created * * 2021-08-20 Vinodhkumar.M Modified-Include Right Trim * *******************************************************************************************************/ BEGIN SET NOCOUNT ON SELECT RTRIM(OCD.[CODE]) AS Code, RTRIM(OCD.[DESCRIPTION]) AS [Description] FROM [dbo].[OutlayCode] OCD ORDER BY OCD.[CODE] ASC SET NOCOUNT OFF END GO IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[KAAS_GetPaymentBatches]') AND type in (N'P', N'PC')) BEGIN DROP PROCEDURE [dbo].[KAAS_GetPaymentBatches] END GO /****** Object: StoredProcedure [dbo].[KAAS_GetPaymentBatches] Script Date: 19-03-2021 14:46:11 ******/ CREATE PROCEDURE [dbo].[KAAS_GetPaymentBatches] ( @handlerCode VARCHAR(10) = NULL ) AS /******************************************************************************************************* * Fetches the batch details of unposted payments * * * * Stored Procedure Name : [dbo].[KAAS_GetPaymentBatches] * * * * Modification History: * * 11 Mar 2021 Natarajan S Created * * 27-May-2021 Balamurugan C Modified-Add few columns * * 20-August-2021 Vinodhkumar M Modified-Add Branch columns * *******************************************************************************************************/ BEGIN SET NOCOUNT ON SELECT [BAT].[BATCHNO] AS [BatchNo], [BAT].[TYPE] AS [Type], [BAT].[CODE] AS [Code], [BAT].[REF] AS [Ref], [dbo].[KEYHM_FNConvertUTCDateToTargetTimeZone]([BAT].[Date], @handlerCode) AS [Date], [BAT].[MATTER] AS [Matter], [BAT].[BRANCH] AS [Branch], [BAT].[SUPP] AS [Supp], [BAT].[NARR] AS [Narr], [BAT].[VALUE] AS [Value], [BAT].[POSTED] AS [Posted], [BAT].[PERNO] AS [PerNo], [BAT].[YEAR] AS [Year], [BAT].[ENTRYDATE] AS [EntryDate], [BAT].[RECNO] AS [RecNo], [BAT].[CHEQUEREQNO] AS [ChequeReqNo], [BAT].[PREF] AS [Pref], [BAT].[PAYEE] AS [Payee], [dbo].[KEYHM_FNConvertUTCDateToTargetTimeZone]([BAT].[ENTRYDATE], @handlerCode) AS [ENTRYDATE], [BAT].[USERCODE] AS [UserCode], [BAT].[EFTYorN] AS [EFTYorN], [BAT].[EFTSent] AS [EFTSent], [BAT].[ThirdParty] AS [Thirdparty], [BAT].[PayClient] AS [PayClient], [BAT].[OnceOffPayment] AS [OnceOffPayment], [BAT].[ClientCode] AS [ClientCode] FROM [dbo].[BatchH] BAT WHERE [BAT].[TYPE] = 'P' AND [BAT].[POSTED] = 'N' ORDER BY [BAT].[POSTED] ASC, [BAT].[ENTRYDATE] ASC SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_GetPaymentClientList', N'P') IS NOT NULL BEGIN DROP PROCEDURE [dbo].[KAAS_GetPaymentClientList] END SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[KAAS_GetPaymentClientList] AS /******************************************************************************************************* * Fetches the Payment Screen -Client Details * * * * Stored Procedure Name : [dbo].[KAAS_GetPaymentClientList] * * * * Modification History: * * 2021-05-19 Balamurugan.C Created * *******************************************************************************************************/ BEGIN SELECT [Code], [OtherRef], [Name], [Address], [BankName], [BankSortCode], [BankAccNo], [Iban], [Bic], [EFTEmailAddress] FROM [dbo].[Contacts] ORDER BY [Code] ASC END GO IF OBJECT_ID(N'KAAS_GetPaymentSupplierList', N'P') IS NOT NULL BEGIN DROP PROCEDURE [dbo].[KAAS_GetPaymentSupplierList] END GO CREATE PROCEDURE [dbo].[KAAS_GetPaymentSupplierList] ( @ThirdParty VARCHAR(1) = '', @Code VARCHAR(10) = '' ) AS /******************************************************************************************************* * Fetches the Payment Screen -Supplier Details,Master Supplier Details * * * * Stored Procedure Name : [dbo].[KAAS_GetPaymentSupplierList] * * * * Modification History: * * 2021-05-19 Balamurugan.C Created * * 2021-06-16 Balamurugan.C Modified-Added Columns * *******************************************************************************************************/ BEGIN SET NOCOUNT ON SELECT RTRIM([Code]) AS 'Code', [Description] FROM [dbo].[ServiceCodes] SELECT [Code], [Name], [Address], [Nominal], [Phone], [EmailAddress], [TaxNo], [ServiceCode], [VATNo], [DeftpStatus], [BankName], [BankAddress], [BankSortCode], [BankAccNo], [Iban], [Bic], [BankType], [EFTEmailAddress], [Retired] FROM [dbo].[Suppliers] WHERE [DeftpStatus] = CASE WHEN @ThirdParty='Y' THEN 'Y' ELSE [DeftpStatus] END AND [Code]= CASE WHEN ISNULL(@Code,'')<>'' THEN @Code ELSE [Code] END ORDER BY [Code] ASC SET NOCOUNT OFF END GO IF EXISTS (SELECT TOP 1 1 FROM SYS.[objects] SO WHERE SO.[name] = N'KAAS_GetReceiptsDetails' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_GetReceiptsDetails] END GO CREATE PROCEDURE [dbo].[KAAS_GetReceiptsDetails] ( @BatchNo INT, @handlerCode VARCHAR(10) = NULL ) AS /******************************************************************************************************* * Fetches the receipts list of specific batch * * * * Stored Procedure Name : [dbo].[KAAS_GetReceiptsDetails] * * * * Modification History: * * 2021-03-24 Revathy D Created * * 2021-08-18 Balamurugan C Modified - Added Payee Column * * 2021-08-23 Balamurugan C Modified - Added THIRDPARTY,OnceOffPayment,PayClient,ClientCode Column * * 2021-08-23 Balamurugan C Modified - Added Case Associate Column * * 2021-12-07 vinodhkumar M Modified - Added Head Pref,Supp Column * *******************************************************************************************************/ BEGIN SET NOCOUNT ON SELECT [BTD].[BatchNo], [BTD].[Type], [BTD].[Code], [BTD].[Pref], [BTD].[Ref], [dbo].KEYHM_FNConvertUTCDateToTargetTimeZone(BTD.[Date], @handlerCode) AS [Date], [BTD].[Fee], [BTD].[Narr], [BTD].[Matter], [BTD].[Supp], [BTD].[Value], [BTD].[VatCode], [BTD].[VatVal], [BTD].[Outlay], [BTD].[Year], [BTD].[PerNo], [BTD].[OutlayCode], [BTD].[HeadBatch], [BTD].[AllocBatch], [BTD].[AllocPref], [BTD].[KeyId] , [BTD].[ClientYN], [BTD].[AllocRef], [BTD].[AllocValue], [BTD].[AllocWriteOff], [BTD].[Payee], [BTD].[Branch], [BTD].[ThirdParty], [BTD].[PayClient], [BTD].[OnceOffPayment], [BTD].[ClientCode], [BTD].[EFTEmailYorN], [BTD].[CaseAssCode], [BTD].[HeadPref], [BTD].[Supp] FROM [dbo].[BatchDetails] [BTD] WHERE [BTD].[BATCHNO] = @BatchNo ORDER BY [BTD].[BATCHNO] ASC, [BTD].[PREF] ASC, [BTD].[KEYID] ASC SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_GetSAMAccruals', N'P') IS NOT NULL BEGIN DROP PROCEDURE [dbo].[KAAS_GetSAMAccruals] END GO CREATE PROCEDURE [dbo].[KAAS_GetSAMAccruals] AS /******************************************************************************************************* * [dbo].[KAAS_GetSAMAccruals] * * Description: Used to fetch accruals list * * Modification History: * * 2021-08-03 Revathy D Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON SELECT [ACC].[NOMINALFROM] AS [NominalAc], [ACC].[NOMINALTO] AS [AccrualAc], [ACC].[DESCRIPTION] AS [Description], [ACC].[VALUE] AS [Value], [ACC].[VALUEYTD] AS [ValueYTD], [ACC].[RECORDID] AS [RecordId] FROM dbo.[Accruals] ACC ORDER BY [ACC].[NOMINALFROM] DESC, [ACC].[RECORDID] DESC SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_GetSAMAssociateTypes',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_GetSAMAssociateTypes] GO CREATE PROCEDURE [dbo].[KAAS_GetSAMAssociateTypes] AS /******************************************************************************************************* * Stored Procedure Name : [dbo].[KAAS_GetSAMAssociateTypes] * * * * Description: Get list of AssociateTypes * * * * Modification History: * * 2021-09-02 Vinodhkumar M Created * *******************************************************************************************************/ BEGIN SELECT RTRIM([CODE]) AS [Code], RTRIM([DESCRIPTION]) AS [Description] FROM [dbo].[AssociateTypes] ORDER BY [CODE] ASC END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_GetSAMBatchMatterBranch' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_GetSAMBatchMatterBranch] END GO CREATE PROCEDURE [dbo].[KAAS_GetSAMBatchMatterBranch] ( @BatchNo INT = 0 ) AS /******************************************************************************************************* * To get Branch of Matter, Batch Header and Batch Details from view * * * * Stored Procedure Name : [dbo].[KAAS_GetSAMBatchMatterBranch] * * * * Modification History: * * 2021-09-07 Balamurugan.C Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON SELECT [BatchNo] AS [BatchNo], ISNULL([Matter],'') AS [Matter], ISNULL([MatterBranch],'') AS [MatterBranch], ISNULL([BatchDBranch],'') AS [BatchDBranch], ISNULL([BatchHBranch],'') AS [BatchHBranch], ISNULL([NominalBranch],'') AS [NominalBranch] FROM [dbo].[BatchMatterBranch] WHERE [BatchNo]=@BatchNo SET NOCOUNT OFF END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_GetSAMBatchMatterValidationDetails' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_GetSAMBatchMatterValidationDetails] END GO CREATE PROCEDURE [dbo].[KAAS_GetSAMBatchMatterValidationDetails] ( @BatchNo INT = 0 ) AS /******************************************************************************************************* * To check outlay budget,approved,closed status in batch header * * * * Stored Procedure Name : [dbo].[KAAS_GetSAMBatchMatterValidationDetails] * * * * Modification History: * * 2021-09-07 Balamurugan.C Created * * 2021-09-08 Balamurugan.C Modified-Added ClientCurBal,ClientDepBal Column * *******************************************************************************************************/ BEGIN SET NOCOUNT ON SELECT [BAD].[BATCHNO] AS [BatchNo], [BAD].[MATTER] AS [Matter], [MAT].[Closed] AS [MatterClosed], [MAT].[ClientCode] AS [ClientCode], [MAT].[OutlayBud] AS [OutlayBud], [MAT].[OutlayBal] AS [OutlayBal], [BAD].[Value] AS [Value], [CON].[Approved] AS [Approved], [MAT].[ClientCurBal] AS [ClientCurBal], [MAT].[ClientDepBal] AS [ClientDepBal] FROM [dbo].[BatchDetails] AS [BAD] INNER JOIN [dbo].[BatchH] AS [BAH] ON [BAD].[BATCHNO] = [BAH].[BATCHNO] INNER JOIN [dbo].[matters] AS [MAT] ON [BAD].[MATTER] = [MAT].[Code] INNER JOIN [dbo].[Contacts] AS [CON] ON [MAT].[ClientCode] = [CON].[Code] WHERE [BAD].[BatchNo] = @BatchNo SET NOCOUNT OFF END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_GetSamBillDetailsFeeEarnerList' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_GetSamBillDetailsFeeEarnerList] END GO CREATE PROCEDURE [dbo].[KAAS_GetSamBillDetailsFeeEarnerList] (@BillNo INT = 0, @MatterCode VARCHAR(50) = '') AS /******************************************************************************************************* * Fetches the BillDetails and FeeEarnerList * * * * Stored Procedure Name : [dbo].[KAAS_GetSamBillDetailsFeeEarnerList] * * * * Modification History: * * 2021-09-15 Vinodhkumar.M Created * *******************************************************************************************************/ BEGIN SELECT [BD].[MATTER] AS [Matter], [BD].[DRAFTNO] AS [DraftNo], [BD].[BILLNO] AS [BillNo], [BD].[TYPE] AS [Type], [BD].[FEEEARNER] AS [FeeEarner], [BD].[NARRATIVE] AS [Narrative], [BD].[NET] AS [Net], [BD].[VATVALUE] AS [VatValue], [BD].[LINENO] AS [LineNo], [BD].[KEYID] AS [KeyId] FROM [dbo].[BillDetails] [BD] WHERE [BD].[DRAFTNO] = @BillNo ORDER BY [BD].[DRAFTNO] ASC, [BD].[LINENO] ASC, [BD].[KEYID] ASC SELECT [FE].[MATTER] AS [Matter], [FE].[DRAFTNO] AS [DraftNo], [FE].[BILLNO] AS [BillNo], [FE].FECODE AS [FECode], [FE].[TYPE] AS [Type], [FE].[PERCENT] AS [Percent], [FE].[CALCULATION] AS [Calculation], [FE].[VALUE] AS [Value], [FE].[VATCODE] AS [VatCode], [FE].[VATAMT] AS [VatAmt], [FE].[RECORDID] AS [RecordId] FROM [dbo].[BillFeeBreakDown] [FE] WHERE [FE].[MATTER] = @MatterCode AND [FE].[DRAFTNO] = @BillNo AND [FE].[BILLNO] = 0 AND [FE].[TYPE] <> 'O' ORDER BY [FE].[MATTER] ASC, [FE].[FECODE] ASC, [FE].[DRAFTNO] ASC, [FE].[BILLNO] ASC, [FE].[RECORDID] END GO IF OBJECT_ID(N'KAAS_GetSAMBranchDropDownList',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_GetSAMBranchDropDownList] GO CREATE PROCEDURE [dbo].[KAAS_GetSAMBranchDropDownList] AS /******************************************************************************************************* * To get Branch List for dropdown * * * * Stored Procedure Name : [dbo].[KAAS_GetSAMBranchDropDownList] * * * * Modification History: * * 2021-08-13 Vinodhkumar Created * * 2021-08-17 Balamurugan.C Modified-Include Right Trim * *******************************************************************************************************/ BEGIN SELECT RTRIM([BRANCHCODE]) AS [Code], RTRIM([DESCRIPTION]) AS [Description] FROM [dbo].[Branch] END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_GetSAMCaseContactBankDetails' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_GetSAMCaseContactBankDetails] END GO CREATE PROCEDURE [dbo].[KAAS_GetSAMCaseContactBankDetails] ( @CaseCode VARCHAR(20) = '' ) AS /******************************************************************************************************* * This sp is used to get Case Associates Dropdown Details * * * * Stored Procedure Name : [dbo].[KAAS_GetCaseContactBankDetails] * * * * Modification History: * * 2021-05-24 Balamurugan Created * * 2021-09-09 Balamurugan Modified - Added EFT Email Address Column * *******************************************************************************************************/ BEGIN SET NOCOUNT ON SELECT ROW_NUMBER() OVER (ORDER BY [CSC].[CaseCode] DESC) AS RowID, [CSC].[CaseCode] AS [CaseCode], [CSC].[ConType] AS [ConType], [CSC].[ConNum] AS [ConNum], [CSC].[NameCode] AS [NameCode], [CSC].[SolCode] AS [SolCode], [CSC].[InsCode] AS [InsCode], [CSC].[AssignedContact] AS [AssignedContact], [CAN].[Code] AS [Code], [CAN].[Type] AS [Type], [CAN].[Name]+'('+ [CAN].[Company]+')' AS [NameAndCompany], [CAN].[Name] AS [Name], [CAN].[Company] AS [Company], [CAN].[Address] AS [Address], [CAN].[Search] AS [Search], [CAN].[ContactNo] AS [ContactNo], [CAN].[BankName] AS [BankName], [CAN].[BankSortCode] AS [BankSortCode], [CAN].[BankAccNo] AS [BankAccNo], [CAN].[Iban] AS [Iban], [CAN].[Bic] AS [Bic], [AST].[Code] AS [AssociateCode], [AST].[Description] AS [Description], [CAN].[EFTEmailAddress] AS [EFTEmailAddress] FROM [dbo].[CaseContacts] [CSC] LEFT OUTER JOIN [dbo].[CaseAssociatesNames] [CAN] ON [CSC].[NameCode] = [CAN].[Code] LEFT OUTER JOIN [dbo].[AssociateTypes] [AST] ON [CSC].[ConType] = [AST].CODE WHERE [CSC].[CaseCode] = @CaseCode ORDER BY [CSC].[CaseCode] ASC, [CSC].[ConType] ASC, [CSC].[ConNum] ASC SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_GetSAMCaseContactDetails',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_GetSAMCaseContactDetails] GO CREATE PROCEDURE [dbo].[KAAS_GetSAMCaseContactDetails] ( @MatterCode VARCHAR(20) ) AS /******************************************************************************************************* * [dbo].[KAAS_GetSAMCaseContactDetails] '000001/0000' * * Description: Used to Case contact details for matter code * * Modification History: * * 2021-04-09 Natarajan S Created * * 2021-04-09 Arun V Implemented coding standards * *******************************************************************************************************/ BEGIN SET NOCOUNT ON SELECT ROW_NUMBER() OVER(ORDER BY [CC].assignedcontact) AS ConNum, [CC].[CASECODE] [CaseCode], [CC].[CONTYPE] [ConType], [CC].[NAMECODE] [CaseContactsNameCode], [CC].[SOLCODE] [CaseContactsSolCode], [CC].[INSCODE] [CaseContactsInsCode], [CC].[ASSIGNEDCONTACT] [AssignedContact], [CA].[CODE] [CaseAssociateCode], [CA].[TYPE] [CaseAssociateType], [CA].[NAME] + '(' + [CA].[COMPANY] + ')' AS [CaseAssociateName], [CA].[COMPANY] [CaseAssociateCompany], [CA].[ADDRESS] [CaseAssociateAddress], [CA].[NAME] [CaseAssociateSearch], [CA].[CONTACTNO] [CaseAssociateContactNo], [CA].[BANKNAME] [CaseAssociateBankName], [CA].[BANKSORTCODE] [CaseAssociateBankSortCode], [CA].[BANKACCNO] [CaseAssociateBankAccNo], [CA].[IBAN] [CaseAssociateIBAN], [CA].[BIC] [CaseAssociateBIC], [AT].[CODE] [AssociateTypeCode], [AT].[DESCRIPTION] [AssociateTypeDescription] FROM [dbo].[CaseContacts] CC LEFT OUTER JOIN [dbo].[CaseAssociatesNames] CA ON [CC].[NAMECODE]= [CA].[CODE] LEFT OUTER JOIN [dbo].[AssociateTypes] AT ON [CC].[CONTYPE]= AT.CODE WHERE [CC].[CASECODE] =@MatterCode ORDER BY [CC].[CASECODE] ASC, [CC].[CONTYPE] ASC, [CC].[CONNUM] ASC SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_GetSAMChangeAssociateDetails',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_GetSAMChangeAssociateDetails] GO CREATE PROCEDURE [dbo].[KAAS_GetSAMChangeAssociateDetails] (@Code VARCHAR(20) = NULL) AS /******************************************************************************************************* * Stored Procedure Name : [dbo].[KAAS_GetSAMChangeAssociateDetails] * * * * Description: Get details of Change associates party based on Code * * * * Modification History: * * 2021-09-02 Vinodhkumar M Created * *******************************************************************************************************/ BEGIN SELECT [Type], [Code], [Name], [Email], [BankType], [BankName], [BankAddress], [BankSortCode], [BankAccNo], [IBAN], [BIC], [EFTEmailAddress] FROM [dbo].[CaseAssociatesNames] WHERE [CODE]=@Code END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_GetSAMClientAccountExpansion' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].KAAS_GetSAMClientAccountExpansion END go CREATE PROCEDURE [dbo].KAAS_GetSAMClientAccountExpansion (@MatterCode VARCHAR(20)) AS /****************************************************************************************************************** * * *Used to list the matter ledger * * Stored Procedure Name: [dbo].KAAS_GetSAMClientAccountExpansion * * Modification History: * * 2021-03-30 Natarajan S Created * * 2021-12-02 Vinodhkumar M Modified - In where clause valuec should not be 0 condition addded and * footer balance query is added * ******************************************************************************************************************/ BEGIN EXEC [dbo].KAAS_GetSAMHeaderDetails @MatterCode SELECT [Date], [REF] AS Ref, [NARR] AS Narr, [ValueC], [ValueCC], [ValueCD], [DepositType], [PRef] FROM dbo.MatterLedger WHERE MATTER= @MatterCode AND valuec <> 0 SELECT [MAT].[DebtBal] AS [DebtorBalance], [MAT].[OutlayBal] AS [OutlayBalance], [MAT].[ClientCurBal] AS [ClientCurrentBalance], [MAT].[ClientDepBal] AS [ClientDeptBalance], [MAT].[ClientBal] AS [ClientBalance] FROM [dbo].[Matters] [MAT] WHERE [MAT].[Code] = @MatterCode END go IF OBJECT_ID(N'KAAS_GetSAMCommonSystemOptions',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_GetSAMCommonSystemOptions] GO CREATE PROCEDURE [dbo].[KAAS_GetSAMCommonSystemOptions] AS /******************************************************************************************************* * * * Stored Procedure Name : [dbo].[KAAS_GetSAMCommonSystemOptions] * * Description: To Get common System Options * * * * Modification History: * * 2021-07-28 Vinodhkumar M Created * *******************************************************************************************************/ BEGIN SELECT [CON].[Indicator22] as [Branch], [CON].[ForceFE] as [ForceFE], [CON].[PendingOutlay] as [PendingOutlay] FROM [Control] [CON] END GO IF OBJECT_ID(N'KAAS_GetSamCreateFillYear',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_GetSamCreateFillYear] GO CREATE PROCEDURE [dbo].[KAAS_GetSamCreateFillYear] (@Code VARCHAR(10) = NULL, @Branch VARCHAR(10) = NULL, @Year INT = 0, @Budget DECIMAL(9,2) = 0.00) AS /******************************************************************************************************* * Create Fill Year * * * * Stored Procedure Name : [dbo].[KAAS_GetSamCreateFillYear] * * * * Modification History: * * 2021-10-06 Vinodhkumar M Created * *******************************************************************************************************/ BEGIN BEGIN TRY BEGIN TRAN DECLARE @Count INT = 0; SET @Count = 1; WHILE(@Count <= 12) BEGIN --INSERT INTO TABLE INSERT INTO dbo.NominalBudgets( CODE, BRANCH, YEAR, PERIOD, BUDGET) VALUES( @Code, @Branch, @Year, @Count, @Budget) SET @Count = @Count + 1 END COMMIT TRAN END TRY BEGIN CATCH ROLLBACK TRAN END CATCH END GO IF OBJECT_ID(N'KAAS_GetSamCreateMemoriseTransaction',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_GetSamCreateMemoriseTransaction] GO CREATE PROCEDURE [dbo].[KAAS_GetSamCreateMemoriseTransaction] (@BatchNumber INT = 0, @Date DATE = NULL) AS /******************************************************************************************************* * Create Memorise Batch and Details * * * * Stored Procedure Name : [dbo].[KAAS_GetSamCreateMemoriseTransaction] * * * * Modification History: * * 2021-09-29 Vinodhkumar M Created * *******************************************************************************************************/ BEGIN BEGIN TRY BEGIN TRAN DECLARE @LastBatch INT = 0,@LastPref INT = 0 (SELECT @LastBatch=(LASTBATCH+1), @LastPref=(LASTPREF+1) FROM dbo.control) --INSERT INTO HEADER TABLE INSERT INTO BatchH( BATCHNO, POSTFWD, TYPE, CODE, BRANCH, PREF, REF, DATE, FEE, MATTER, SUPP, NARR, VALUE, SUBTOT, POSTED, CLIENTAC, PERNO, YEAR, PAYEE, OUTLAYTOT, VATTOT, FEETOT, INVCR, THIRDPARTY, USERCODE, ENTRYDATE, CLIENTBANK, CURRENCY, CURRENCYVALUE, CUROUTLAYTOT, CURVATTOT, CURFEETOT, RECNO, SINGLELINE, TEMPLATE, CHEQUEREQNO, WRITEDOWN, WRITEBACKHOURS, WRITEBACKVALUE, CORRECTCOPY, CREDITINVOICENO, DRAFTBILLNO, EFTSENT, EFTDATE, EFTFileNumber, EFTFileName, EFTYorN, ClientCode, PayClient, OnceOffPayment, CaseAssCode, EFTEmailYorN, HandlerCode, PaymentMethod, ClearedDate) SELECT @LastBatch, POSTFWD, TYPE, CODE, BRANCH, @LastPref, '', GETUTCDATE(), FEE, MATTER, SUPP, NARR, VALUE, SUBTOT, POSTED, CLIENTAC, PERNO, YEAR, PAYEE, OUTLAYTOT, VATTOT, FEETOT, INVCR, THIRDPARTY, USERCODE, ENTRYDATE, CLIENTBANK, CURRENCY, CURRENCYVALUE, CUROUTLAYTOT, CURVATTOT, CURFEETOT, RECNO, SINGLELINE, '~~~MEMO~~~', CHEQUEREQNO, WRITEDOWN, WRITEBACKHOURS, WRITEBACKVALUE, CORRECTCOPY, CreditInvoiceNo, DraftBillNo, EFTSent, EFTDate, EFTFileNumber, EFTFileName, EFTYorN, ClientCode, PayClient, OnceOffPayment, CaseAssCode, EFTEmailYorN, HandlerCode, PaymentMethod, ClearedDate FROM [dbo].[BatchH] WITH (NOLOCK) WHERE [batchNo]=@BatchNumber UPDATE dbo.control SET LASTPREF=(@LastPref) WHERE NEXT_DOC_NO=0 --INSERT INTO TEMP TABLE SELECT @LastBatch as batch, TYPE, CODE, @LastPref as pref, GETUTCDATE() as batchDate, FEE, BRANCH, NARR, MATTER, SUPP, VALUE, VATCODE, VATVAL, CLIENTYN, OUTLAY, PENDING, YEAR, PERNO, ENTRYCURRENCY, CURRENCYVALUE, CURRENCYVAT, OUTLAYCODE, THIRDPARTY, PAYEE, HEADPREF, HEADBATCH, ALLOCBATCH, ALLOCPREF, ALLOCREF, ALLOCVALUE, ALLOCWRITEOFF, PSUPP, UNDETAKING, CaseAssCode, OnceOffPayment, PayClient, ClientCode, EFTEmailYorN, RegisteredPost, PreBilledOutlay, ROW_NUMBER() OVER(ORDER BY @LastBatch) AS rowId INTO #tempTable FROM [dbo].[BatchDetails] WITH (NOLOCK) WHERE BATCHNO=@BatchNumber AND NOT EXISTS (SELECT 1 FROM BatchDetails BD WHERE BD.PREF = @LastPref) DECLARE @Count INT = 0, @TotalCount INT = 0, @LastPrefDetails int = 0; SET @TotalCount = (SELECT count(*) FROM #tempTable); SET @Count = 1; WHILE(@Count <= @TotalCount) BEGIN SELECT @LastPrefDetails = (LASTPREF+1) FROM dbo.control --INSERT INTO DETAILS TABLE INSERT INTO BatchDetails( BATCHNO, TYPE, CODE, PREF, DATE, FEE, BRANCH, NARR, MATTER, SUPP, VALUE, VATCODE, VATVAL, CLIENTYN, OUTLAY, PENDING, YEAR, PERNO, ENTRYCURRENCY, CURRENCYVALUE, CURRENCYVAT, OUTLAYCODE, THIRDPARTY, PAYEE, HEADPREF, HEADBATCH, ALLOCBATCH, ALLOCPREF, ALLOCREF, ALLOCVALUE, ALLOCWRITEOFF, PSUPP, UNDETAKING, CaseAssCode, OnceOffPayment, PayClient, ClientCode, EFTEmailYorN, RegisteredPost, PreBilledOutlay) SELECT @LastBatch, TYPE, CODE, @LastPrefDetails, batchDate, FEE, BRANCH, NARR, MATTER, SUPP, VALUE, VATCODE, VATVAL, CLIENTYN, OUTLAY, PENDING, YEAR, PERNO, ENTRYCURRENCY, CURRENCYVALUE, CURRENCYVAT, OUTLAYCODE, THIRDPARTY, PAYEE, HEADPREF, HEADBATCH, ALLOCBATCH, ALLOCPREF, ALLOCREF, ALLOCVALUE, ALLOCWRITEOFF, PSUPP, UNDETAKING, CaseAssCode, OnceOffPayment, PayClient, ClientCode, EFTEmailYorN, RegisteredPost, PreBilledOutlay FROM #tempTable WITH (NOLOCK) WHERE rowId = @count UPDATE dbo.control SET LASTPREF=(@LastPrefDetails) WHERE NEXT_DOC_NO=0 SET @Count = @Count + 1 END UPDATE dbo.control SET LASTBATCH=(@LastBatch) WHERE NEXT_DOC_NO=0 DROP TABLE #tempTable DELETE FROM [dbo].[RBatchH] WHERE [BATCHNO] = @BatchNumber AND [DATE] = CAST(@Date AS DATE) DELETE FROM [dbo].[RBatchD] WHERE [BATCHNO] = @BatchNumber AND [DATE] = CAST(@Date AS DATE) COMMIT TRAN END TRY BEGIN CATCH ROLLBACK TRAN END CATCH END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_GetSamCreateOutlayWriteOffJournal' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_GetSamCreateOutlayWriteOffJournal] END GO CREATE PROCEDURE [dbo].[KAAS_GetSamCreateOutlayWriteOffJournal] ( @Branch VARCHAR(1) = '', @JournalAmount DECIMAL = 0 , @AllocBatch INT = 0, @AllocPref INT = 0, @AllocRef VARCHAR(20) = '', @Matter VARCHAR(20) = '' ) AS /******************************************************************************************************* * Create Jourunal Batch and Details * * * * Stored Procedure Name : [dbo].[KAAS_GetSamCreateOutlayWriteOffJournal] * * * * Modification History: * * 2021-09-30 Balamurugan C Created * * 2021-10-06 Balamurugan C Modified - Changes in case statement * *******************************************************************************************************/ BEGIN BEGIN TRY BEGIN TRAN DECLARE @LastBatch INT = 0, @LastPref INT = 0, @Year INT = 0, @CurPer INT = 0, @DefaultDebtors VARCHAR(15) = '', @DefaultOutlay VARCHAR(15) = '' ( SELECT @LastBatch = (LastBatch + 1), @LastPref = (LastPref + 1), @Year = [Year], @CurPer = CurPer, @DefaultDebtors = Debtors, @DefaultOutlay = Outlay FROM [dbo].[Control] ) INSERT INTO [dbo].[BatchH] (Batchno, Postfwd, [Type], Code, Branch, Pref, Ref, [Date], Fee, Matter, Supp, Narr, [Value], Subtot, Posted, ClientAc, PerNo, [Year], Payee, OutlayTot, VatTot, FeeTot, Invcr, ThirdParty, UserCode, EntryDate, ClientBank, Currency, CurrencyValue, CuroutlayTot, CurVatTot, CurFeeTot, RecNo, Singleline, Template, ChequeReqNo, WriteDown, WriteBackHours, WriteBackValue, CorrectCopy, CreditInvoiceNo, DraftBillNo, EFTSent, EFTDate, EFTFileNumber, EFTFileName, EFTYorN, ClientCode, PayClient, OnceOffPayment, CaseAssCode, EFTEmailYorN, HandlerCode, PaymentMethod, ClearedDate) VALUES (@LastBatch, '', 'J', '', @Branch, @LastPref, 'Set-off', CAST(GETUTCDATE() AS DATE), '', '', '', 'Journal to Set off billing against Outlay', 0.00, 0.00, 'N', '', @CurPer, @Year, '', 0.00, 0.00, 0.00, '', '', 'keyhouse', CAST(GETUTCDATE() AS DATE), '', 'E', 0.00, 0.00, 0.00, 0.00, 0, '', '', 0, NULL, 0.00, 0.00, '', 0, 0, 'N', NULL, 0, '', 'N', '', 'N', 'N', '', 'N', '', 0, NULL ) UPDATE [dbo].[Control] SET [LASTPREF] = (@LastPref) WHERE [NEXT_DOC_NO] = 0 /* INSERT INTO TEMP TABLE */ IF OBJECT_ID('tempdb..#tempTable') IS NOT NULL DROP TABLE #tempTable SELECT @LastBatch AS BatchNo, 'J' AS [Type], '' AS Code, @LastPref AS Pref, 'Set-off' AS Ref, CAST(GETUTCDATE() AS DATE) AS [Date], '' AS Fee, 'H' AS Branch, 'Journal to Set off billing against Outlay' AS Narr, @Matter AS Matter, '' AS Supp, @JournalAmount AS [Value], '' AS VatCode, 0.00 AS VatVal, '' AS ClientYN, '' AS Outlay, '' AS Pending, @Year AS [Year], @CurPer AS PerNo, 'E' AS EntryCurrency, @JournalAmount AS CurrencyValue, 0.00 AS CurrencyVat, '' AS OutlayCode, '' AS ThirdParty, '' AS Payee, 0 AS HeadPref, 0 AS HeadBatch, @AllocBatch AS AllocBatch, @AllocPref AS AllocPref, @AllocRef AS AllocRef, @JournalAmount AS AllocValue, 'N' AS Allocwriteoff, '' AS Psupp, 0 AS Undetaking, '' AS CaseAssCode, 'N' AS OnceOffPayment, 'N' AS PayClient, '' AS ClientCode, 'N' AS EFTEmailYorN, 0 AS RegisteredPost, 0 AS PreBilledOutlay INTO #tempTable DECLARE @InsertNum INT, @LastPrefIncrement INT = 0 SET @InsertNum = 2 WHILE (@InsertNum <> 0 ) BEGIN SET @InsertNum = @InsertNum - 1 SELECT @LastPrefIncrement = (LASTPREF+1) FROM [dbo].[Control] INSERT INTO [dbo].[Batchdetails] ( BatchNo, [Type], Code, Pref, Ref, [Date], Fee, Branch, Narr, Matter, Supp, [Value], Vatcode, Vatval, Clientyn, Outlay, Pending, [Year], Perno, Entrycurrency, Currencyvalue, Currencyvat, Outlaycode, Thirdparty, Payee, Headpref, Headbatch, Allocbatch, Allocpref, Allocref, Allocvalue, Allocwriteoff, Psupp, Undetaking, Caseasscode, Onceoffpayment, Payclient, ClientCode, EFTEmailYorN, RegisteredPost, PreBilledOutlay ) ( SELECT BatchNo, [Type], CASE WHEN @InsertNum = 0 THEN @DefaultDebtors ELSE @DefaultOutlay END AS Code, @LastPrefIncrement, Ref, [Date], Fee, Branch, Narr, Matter, Supp, CASE WHEN @InsertNum = 0 THEN CASE WHEN [Value] < 0 THEN [Value] ELSE [Value]*-1 END ELSE ABS([Value]) END AS [Value], VatCode, VatVal, ClientYN, CASE WHEN @InsertNum = 0 THEN 'D' ELSE 'O' END AS Outlay, Pending, [Year], PerNo, EntryCurrency, CASE WHEN @InsertNum = 0 THEN CASE WHEN CurrencyValue < 0 THEN CurrencyValue ELSE CurrencyValue*-1 END ELSE ABS(CurrencyValue) END AS CurrencyValue, CurrencyVat, OutlayCode, ThirdParty, Payee, HeadPref, HeadBatch, CASE WHEN @InsertNum = 0 THEN AllocBatch ELSE 0 END AS AllocBatch, CASE WHEN @InsertNum = 0 THEN AllocPref ELSE 0 END AS AllocPref, CASE WHEN @InsertNum = 0 THEN AllocRef ELSE '' END AS AllocRef, CASE WHEN @InsertNum = 0 THEN CASE WHEN AllocValue < 0 THEN AllocValue ELSE AllocValue*-1 END ELSE 0 END AS AllocValue, Allocwriteoff, Psupp, Undetaking, CaseAssCode, OnceOffPayment, PayClient, ClientCode, EFTEmailYorN, RegisteredPost, PreBilledOutlay FROM #tempTable ) UPDATE [dbo].[Control] SET [LASTPREF] = (@LastPrefIncrement) WHERE [NEXT_DOC_NO] = 0 END UPDATE [dbo].[Control] SET [LASTBATCH] = (@LastBatch) WHERE [NEXT_DOC_NO] = 0 SELECT @LastBatch 'LastBatch' COMMIT TRAN END TRY BEGIN CATCH ROLLBACK TRAN END CATCH END GO IF OBJECT_ID(N'KAAS_GetSAMDashboardDetails',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_GetSAMDashboardDetails] GO CREATE PROCEDURE [dbo].[KAAS_GetSAMDashboardDetails] AS /******************************************************************************************************* * This sp used to get dashboard details * * * * Stored Procedure Name : [dbo].[KAAS_GetSAMDashboardDetails] * * * * Modification History : * * 2021-08-25 Natarajan S Created * *******************************************************************************************************/ BEGIN SELECT CASE Closed WHEN 'N' THEN 'Opened' ELSE 'Closed' END [MatterState], COUNT(*) [CountValue] FROM [dbo].[matters] GROUP BY [Closed] SELECT COUNT(*) Posted from batchh where posted = 'N' SELECT [BatchNo], [Type], [Ref], [Date], [Value], [Narr] FROM [dbo].[BatchH] WHERE [Posted] = 'N' ORDER BY [Posted] ASC, [EntryDate] ASC SELECT ROW_NUMBER() OVER ( ORDER BY Date ) OrderValue, [BatchNo], [Type], [Date], [Code], [Value], [Supp], [Matter], [Narr] FROM [dbo].RBatchH A WHERE ([Date] >= {d '1900-01-01'} AND [Date] <= {d '2021-08-19'} ) ORDER BY [Date] ASC, [BatchNo] ASC SELECT [Date], [User], [Event], [RecordID] FROM [dbo].[Log] ORDER BY [RecordID] ASC SELECT [UniqueId] [OrderValue], [Code], [Matter], [Description], [FECode], [Dept] FROM [dbo].[matters] WHERE [Closed]='N' SELECT [UniqueId] [OrderValue], [Code], [Matter], [Description], [FECode], [Dept] FROM [dbo].[matters] WHERE [Closed]='Y' SELECT [Name] [DBName], [CurPer], [Year], dbo.KAAS_FN_GetDateFromClarion (PERIODEND) AS PeriodEnd, dbo.KAAS_FN_GetDateFromClarion (LASTRECDATE) AS LastRecDate FROM [dbo].[control] END GO IF OBJECT_ID(N'KAAS_GetSamDebtLodgeClientList',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_GetSamDebtLodgeClientList] GO CREATE PROCEDURE [dbo].[KAAS_GetSamDebtLodgeClientList] AS /******************************************************************************************************* * Get Debt Lodgement Client List * * * * Stored Procedure Name : [dbo].[KAAS_GetSamDebtLodgeClientList] * * * * Modification History: * * 2021-10-04 Vinodhkumar M Created * *******************************************************************************************************/ BEGIN SELECT [CONT].[CODE] AS [Code], [CONT].[NAME] AS [Name], [CONT].[ADDRESS] AS [Address], [CONT].[FE] AS [FE], [CONT].[CLIENT] AS [Client], [CONT].[CLIENTGROUP] AS [ClientGroup], [CONT].[OTHERREF] AS [OtherRef], [CONT].[OPSISREF] AS [OpSisRef], [CONT].[CONTACTNO] AS [ContactNo], [CONT].[COMPBILLONOFF] AS [CompBillOnOff], [CONT].[TAXTYPE] AS [TaxType] FROM [dbo].[contacts] [CONT] WHERE [CONT].[CLIENT] = 'Y' ORDER BY [CONT].[CODE] ASC END GO IF OBJECT_ID(N'KAAS_GetSamDebtLodgementList',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_GetSamDebtLodgementList] GO CREATE PROCEDURE [dbo].[KAAS_GetSamDebtLodgementList] (@MatterCode VARCHAR(20) = '') AS /******************************************************************************************************* * Get Debt Lodgement List * * * * Stored Procedure Name : [dbo].[KAAS_GetSamDebtLodgementList] * * * * Modification History: * * 2021-10-04 Vinodhkumar M Created * * 2021-10-13 Vinodhkumar M Modified - Payment method parameter is removed and * MatterDescription,Branch is added * *******************************************************************************************************/ BEGIN SELECT [DEBT].[MATTERCODE] AS [MatterCode], [DEBT].[DATE] AS [Date], [DEBT].[REFERENCE] AS [Reference], [DEBT].[DESCRIPTION] AS [Description], [DEBT].[TYPE] AS [Type], [DEBT].[VALUE] AS [Value], [DEBT].[INTEREST] AS [Interest], [DEBT].[REMITTANCENO] AS [RemittanceNo], [DEBT].[POSTINGREF] AS [PostingRef], [DEBT].[PAYMENTMETHOD] AS [PaymentMethod], [DEBT].[EFFECTIVEDATE] AS [EffectiveDate], [MAT].[Description] AS [MatterDescription], [MAT].[Branch] AS [Branch] FROM [dbo].[DebtCostingLedger] [DEBT] LEFT JOIN [dbo].[matters] [MAT] ON [MAT].[Code] = [DEBT].[MATTERCODE] WHERE [DEBT].[xnid] = -1 AND [DEBT].[Type] = 'Receipt' AND [DEBT].[MatterCode] Like (@MatterCode+'%') ORDER BY [DEBT].[POSTINGREF] DESC END GO IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[KAAS_GetSAMDebtorsLedgerAllocation]') AND type in (N'P', N'PC')) BEGIN DROP PROCEDURE [dbo].[KAAS_GetSAMDebtorsLedgerAllocation] END GO /****** Object: StoredProcedure [dbo].[KAAS_GetSAMDebtorsLedgerAllocation] Script Date: 25-03-2021 10:38:53 ******/ CREATE PROCEDURE [dbo].[KAAS_GetSAMDebtorsLedgerAllocation] (@BatchNo int, @Pref int) AS /******************************************************************************************************* * Fetches the Debtors Ledger Allocation by Batch No and Pref * * * * Stored Procedure Name : [dbo].[KAAS_GetSAMDebtorsLedgerAllocation] * * * * Modification History: * * 2021-03-31 Prabhu V Created * *******************************************************************************************************/ BEGIN SELECT A.[BatchNo], A.[Pref], A.[Date], A.[ABatchNo], A.[Oref], A.[Value], A.[Fees], A.[Outlay], A.[Vat], A.[UserCode], A.[AllNo], A.[KeyID] FROM dbo.[Allocations] A WHERE A.[BatchNo] = @BatchNo AND A.[Pref] = @Pref ORDER BY A.[BatchNo] ASC, A.[Pref] ASC, A.[KeyID] ASC END GO IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[KAAS_GetSAMDebtorsLedgerbyMatterCode]') AND type in (N'P', N'PC')) BEGIN DROP PROCEDURE [dbo].[KAAS_GetSAMDebtorsLedgerbyMatterCode] END GO /****** Object: StoredProcedure [dbo].[KAAS_GetSAMDebtorsLedgerbyMatterCode] Script Date: 25-03-2021 10:38:53 ******/ CREATE PROCEDURE [dbo].[KAAS_GetSAMDebtorsLedgerbyMatterCode] (@MatterCode Varchar(20)) AS /******************************************************************************************************* * Fetches the Debtors Ledger by Matter Code * * * * Stored Procedure Name : [dbo].[KAAS_GetSAMDebtorsLedgerbyMatterCode] * * * * Modification History: * * 2021-03-25 Prabhu V Created * * 2021-12-02 Vinodhkumar.M Modified - Account Bal, Cleared Bal query added * *******************************************************************************************************/ BEGIN SELECT A.[Matter], A.[Client], A.[Date], A.[Ref], A.[BatchNo], A.[PRef], A.[Narr], A.[Original], A.[OSValue], A.[RecordID] , S.[Name], S.[Description] FROM dbo.[DebtorsLedger] A LEFT JOIN dbo.[SearchMatters] S On S.[Code] = A.[MATTER] WHERE A.[Matter] = @MatterCode ORDER BY A.[Matter] ASC, A.[Date] ASC, A.[RecordID] ASC SELECT ISNULL(SUM(ISNULL([DTL].[ORIGINAL], 0)), 0) AS [DebtorClearedBalance], ISNULL([MAT].[DebtBal],0) AS [DebtorAcoountBalance], ISNULL(SUM(ISNULL([DTL].[OSVALUE], 0)), 0) AS [OSValue] FROM [dbo].[matters] AS [MAT] LEFT OUTER JOIN [dbo].[DebtorsLedger] AS [DTL] ON [MAT].[Code] = [DTL].[MATTER] AND ISNULL([DTL].[ClearedDate], [DTL].[DATE]) <= DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()), 0) WHERE [MAT].[Code] = @MatterCode GROUP BY [MAT].[DebtBal] END GO IF OBJECT_ID(N'KAAS_GetSamDeleteDebtLodgement',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_GetSamDeleteDebtLodgement] GO CREATE PROCEDURE [dbo].[KAAS_GetSamDeleteDebtLodgement] (@PostingRef INT = 0) AS /******************************************************************************************************* * Delete Debt Lodgement * * * * Stored Procedure Name : [dbo].[KAAS_GetSamDeleteDebtLodgement] * * * * Modification History: * * 2021-10-01 Vinodhkumar M Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON UPDATE [dbo].[DebtCostingLedger] SET XnId = 0 WHERE POSTINGREF = @PostingRef SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_GetSAMDraftBillsList',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_GetSAMDraftBillsList] GO CREATE PROCEDURE [dbo].[KAAS_GetSAMDraftBillsList] ( @Handler VARCHAR(10) = '', @BillNo INT = 0, @Released VARCHAR(1) = 'N' ) AS /******************************************************************************************************* * Get Draft bills List * * * * Stored Procedure Name : [dbo].[KAAS_GetSAMDraftBillsList] * * * * Modification History: * * 2021-09-10 Vinodhkumar M Created * * 2021-09-16 Vinodhkumar M Modifed - Added columns * * 2021-10-27 Balamurugan C Modifed - Added Description,FeCode Column and * added where conditions * *******************************************************************************************************/ BEGIN SELECT [BH].[MATTER] AS [Matter], [BH].[DRAFTNO] AS [DraftNo], [BH].[DATE] AS [Date], [BH].[USER] AS [User], RTRIM([BH].[ADDRESSEE]) AS [Address], [BH].[INVCR] AS [Invcr], [BH].[BILLNO] AS [BillNo], [BH].[TOTAL] AS [Total], [BH].[FEES] AS [Fees], [BH].[OUTLAY] AS [Outlay], [BH].[TOTALVAT] AS [TotalVat], [BH].[RELEASED] AS [Released], [BH].[ACTIONID] AS [ActionId], [BH].[OPENINVOICE] AS [OpenInvoice], [BH].[BATCHNO] AS [BatchNo], [BH].[OURREF] AS [OurRef], [BH].[YOURREF] AS [YourRef], [BH].[BillSent] AS [BillSent], [BH].[TRANSFER] AS [TransferPay], [BH].[FEMISCTOTAL] AS [FeMiscTotal], [BH].[WRITEDOWN] AS [WriteDownTime], RTRIM([BH].[RETURNREASON]) AS [Message], RTRIM([BH].[MATTERDESCRIPTION]) AS [Description], [BH].[FeCode] AS [FeCode] FROM [dbo].[BillHeader] [BH] WHERE [BH].[RELEASED] = 'Y' AND [BH].[BILLNO] = 0 ORDER BY [BH].[RELEASED] ASC, [BH].[USER] ASC, [BH].[DATE] ASC, [BH].[MATTER] ASC, [BH].[DRAFTNO] ASC END GO IF OBJECT_ID(N'KAAS_GetSAMFeeEarnerCodes',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_GetSAMFeeEarnerCodes] GO CREATE PROCEDURE [dbo].[KAAS_GetSAMFeeEarnerCodes] AS /******************************************************************************************************* * [dbo].[KAAS_GetSAMFeeEarnerCodes] * * Description: Get basic details to insert into diary information. * * Modification History: * * 2021-04-10 Natarajan S Created * * 2021-08-26 Vinodhkumar M Modified - Branch is added * *******************************************************************************************************/ BEGIN SET NOCOUNT ON SELECT [Code], [Name], [Branch] FROM [dbo].FeeEarnerCodes A WHERE [A].[Retired] <> 'Y' ORDER BY [Code] ASC SELECT [RECORDID] AS [RecordId], [STATUSDESC] AS [Status] FROM [dbo].[UndertakingStatus] ORDER BY [STATUSDESC] ASC SET NOCOUNT OFF END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_GetSAMFNLDetails' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].KAAS_GetSAMFNLDetails END go CREATE PROCEDURE [dbo].KAAS_GetSAMFNLDetails (@MatterCode VARCHAR(20)) AS /******************************************************************************************************* * * *Used to Get FNL Details * * Stored Procedure Name: [dbo].KAAS_GetSAMFNLDetails '000001/0000' * * Modification History: * * 2021-03-30 Natarajan S Created * * 2021-07-28 Vinodhkumar M Added null check for FNL Date * *******************************************************************************************************/ BEGIN SELECT OM.[Code] as [Code], C.[Code] as [ClientCode], C.[Name] as [ClientName], OM.[Matter] AS [MatterCode], OM.[Description] as [MatterName], C.[Address] AS [ClientAddress], OM.[FECode] AS [FECode], ISNULL(OM.[FNL_DATE],GETUTCDATE()) AS [FNLDate], OM.[FNL_NAME] AS [FNLName], OM.[FNL_ADDRESS] AS [FNLAddress], OM.[FNL_FEES] AS [FNLFees], OM.[FNL_OUTLAY] AS [FNLOutlay], OM.[FNL_VAT] AS [FNLVat], OM.[FNL_TOTAL] AS [FNLTotal] FROM dbo.OpenMattersONLY OM INNER JOIN Contacts C ON OM.ClientCode = C.Code WHERE OM.CODE = @MatterCode END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_GetSAMHeaderDetails' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].KAAS_GetSAMHeaderDetails END go CREATE PROCEDURE [dbo].KAAS_GetSAMHeaderDetails (@MatterCode VARCHAR(20)) AS /******************************************************************************************************* * * *Used to list the matter ledger * * Stored Procedure Name: [dbo].KAAS_GetSAMHeaderDetails '000001/0000' * * Modification History: * * 2021-03-30 Natarajan S Created * *******************************************************************************************************/ BEGIN select OM.[Code] as [Code], C.[Code] as [ClientCode], C.[Name] as [ClientName], OM.[Matter] AS [MatterCode], OM.[Description] as [MatterName] FROM dbo.OpenMattersONLY OM INNER JOIN Contacts C ON OM.ClientCode = C.Code WHERE OM.CODE = @MatterCode END go IF OBJECT_ID(N'KAAS_GetSAMInsertBillDesc',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_GetSAMInsertBillDesc] GO CREATE PROCEDURE [dbo].[KAAS_GetSAMInsertBillDesc] (@Desc VARCHAR(MAX) = '', @Search CHAR(20) = '', @Retired VARCHAR(1) = '') AS /******************************************************************************************************* * Insert Bill Description * * * * Stored Procedure Name : [dbo].[KAAS_GetSAMInsertBillDesc] * * * * Modification History: * * 2021-09-17 Vinodhkumar M Created * *******************************************************************************************************/ BEGIN INSERT INTO [dbo].[BillDescriptions] (BILLDESCRIPTIONS,SEARCHFIELD,Retired) VALUES (@Desc,@Search,@Retired) END GO IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[KAAS_GetSAMJournalBatches]') AND type in (N'P', N'PC')) BEGIN DROP PROCEDURE [dbo].[KAAS_GetSAMJournalBatches] END GO CREATE PROCEDURE [dbo].[KAAS_GetSAMJournalBatches] AS /******************************************************************************************************* * Fetches the journal batch details * * * * Stored Procedure Name : [dbo].[KAAS_GetSAMJournalBatches] * * * * Modification History: * * 2021-05-10 Revathy D Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON SELECT BAH.[BATCHNO] AS [BatchNo], BAH.[TYPE] AS [Type], BAH.[CODE] AS [Code], BAH.[REF] AS [Ref], BAH.[DATE] AS [Date], BAH.[MATTER] AS [Matter], BAH.[SUPP] AS [Supp], BAH.[NARR] AS [Narr], BAH.[POSTED] AS [Posted], BAH.[CLIENTAC] AS [ClientAc], BAH.[PERNO] AS [PerNo], BAH.[YEAR] AS [Year], BAH.[ENTRYDATE] AS [EntryDate], BAH.[RECNO] AS [RecNo], BAH.[CHEQUEREQNO] AS [ChequeReqNo] FROM dbo.BatchH BAH WHERE ( BAH.[TYPE] = 'J' AND BAH.[POSTED] = 'N' ) ORDER BY BAH.[POSTED] ASC, BAH.[ENTRYDATE] ASC SET NOCOUNT OFF END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_GetSAMMatterLedger' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_GetSAMMatterLedger] END GO CREATE PROCEDURE [dbo].[KAAS_GetSAMMatterLedger] ( @MatterCode VARCHAR(20) ) AS /******************************************************************************************************* * * *Used to list the matter ledger * * Stored Procedure Name: [dbo].[KAAS_GetSAMMatterLedger] 'KEY001/0001' * * Modification History: * * 2021-03-11 Natarajan S Created * * 2021-03-11 Prabhu V Modified -- Added BatchH table in left join to verify the type of Batch* * 2021-03-11 Prabhu V Modified -- Handling Row color from UI instead of fetching value * using like search in BD script * * 2021-05-19 Prabhu V Modified -- Fetching ValueO as Outlay for matter Ledger page * * 2021-07-08 Natarajan S Modified -- Formatting Added. * * 2021-11-25 Vinodhkumar M Modified -- Balance Query and Cleared Balance Query added * *******************************************************************************************************/ BEGIN SET NOCOUNT ON SELECT [MTL].[Matter] AS [Matter], [MTL].[BatchNo] AS [BatchNo], [MTL].[PRef] AS [PRef], [MTL].[Date] AS [Date], [MTL].[Ref] AS [Ref], [MTL].[Narr] AS [Narr], [MTL].[ValueD] AS [ValueD], [MTL].[ValueO] AS [Outlay], [MTL].[Fee] AS [Fee], [MTL].[EntryDate] AS [EntryDate], [MTL].[Client] AS [Client], [MTL].[ValueCC] AS [ValueCC], [MTL].[ValueCD] AS [ValueCD], [MTL].[LRef] AS [LRef], [MTL].[Billed] AS [Billed], [MAT].[Undertaking] AS [Undertaking], [BTH].[Type] AS [Type] FROM [dbo].[MatterLedger] [MTL] INNER JOIN [dbo].[Matters] [MAT] ON [MTL].[Matter] = [MAT].[Code] LEFT JOIN [dbo].[BatchH] [BTH] ON [MTL].[BatchNo] = [BTH].[BatchNo] WHERE [MTL].[Matter] = @MatterCode ORDER BY [MTL].[Matter], [MTL].[Date], [MTL].[LRef] ASC SELECT [CLIENTMIN] FROM [dbo].[OpenMattersOnly] WHERE [Code] = @MatterCode SELECT [MAT].[DebtBal] AS [DebtorBalance], [MAT].[OutlayBal] AS [OutlayBalance], [MAT].[ClientCurBal] AS [ClientCurrentBalance], [MAT].[ClientDepBal] AS [ClientDeptBalance] FROM [dbo].[Matters] [MAT] WHERE [MAT].[Code] = @MatterCode SELECT SUM(ISNULL([MTL].[VALUED], 0)) AS [DebtorClearedBalance], SUM(ISNULL([MTL].[VALUEO], 0)) AS [OutlayClearedBalance], SUM(ISNULL([MTL].[VALUECC], 0)) AS [ClientCurrentClearedBalance], SUM(ISNULL([MTL].[VALUECD], 0)) AS [ClientDepositClearedBalance] FROM [dbo].[matters] AS [MAT] LEFT OUTER JOIN [dbo].[MatterLedger] AS [MTL] ON [MAT].[Code] = [MTL].[MATTER] AND ISNULL([MTL].[ClearedDate], [MTL].[DATE]) <= DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()), 0) WHERE [MAT].[Code] = @MatterCode SET NOCOUNT OFF END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_GetSAMMatterLedgerComment' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_GetSAMMatterLedgerComment] END go CREATE PROCEDURE [dbo].[KAAS_GetSAMMatterLedgerComment] (@MatterCode VARCHAR(20)) AS /******************************************************************************************************* * * *Used to list the matter ledger * * Stored Procedure Name: [dbo].[KAAS_GetSAMMatterLedgerComment] 'KEY001/0001' * * Modification History: * * 2021-03-11 Natarajan S Created * *******************************************************************************************************/ BEGIN IF( (SELECT top 1 1 FROM MatterLedger WHERE (MATTER = @MatterCode) AND ([BATCHNO] = 0) AND (NARR LIKE 'RESERVE%') AND ([PREF] = 0)) > 0) BEGIN SELECT [NARR] FROM MatterLedger WHERE (MATTER = @MatterCode) AND ([BATCHNO] = 0) AND ([NARR] LIKE 'RESERVE%') AND ([PREF] = 0) ORDER BY [DATE] DESC END ELSE BEGIN SELECT [NARR] FROM MatterLedger WHERE ([BATCHNO] = 0) AND ([NARR] LIKE 'RESERVE%') AND ([PREF] = 0) ORDER BY [LREF] DESC END END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_GetSAMMattersWithPossibleOutlayTransfers' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_GetSAMMattersWithPossibleOutlayTransfers] END GO CREATE PROCEDURE [dbo].[KAAS_GetSAMMattersWithPossibleOutlayTransfers] AS /******************************************************************************************************************* * * * Stored Procedure Name : [dbo].[KAAS_GetSAMMattersWithPossibleOutlayTransfers] * * Description: To Fetch Matters with possible outlay Transfers * * * * Modification History: * * 2021-09-30 Balamurugan Created * *******************************************************************************************************************/ BEGIN SET NOCOUNT ON SELECT [MAT].[Code] AS [Matter], [CON].[Name], [MAT].[Description], [MAT].[DebtBal], [MAT].[OutlayBal], [MAT].[ClientBal], 0 AS [TransferValue], [MAT].[Branch] FROM [dbo].Matters [MAT] WITH (NOLOCK) LEFT OUTER JOIN [dbo].[Contacts] [CON] WITH (NOLOCK) ON [MAT].[ClientCode] = [CON].[Code] WHERE [MAT].[OutlayBal] < 0 AND [MAT].[OutlayBal] + [MAT].[DebtBal] >= 0 ORDER BY [MAT].[Code] ASC SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_GetSamMemorizeTransList',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_GetSamMemorizeTransList] GO CREATE PROCEDURE [dbo].[KAAS_GetSamMemorizeTransList] AS /******************************************************************************************************* * Get Memorize Transaction List * * * * Stored Procedure Name : [dbo].[KAAS_GetSamMemorizeTransList] * * * * Modification History: * * 2021-09-28 Vinodhkumar M Created * * 2021-09-28 Vinodhkumar M Modified - Added row number * *******************************************************************************************************/ BEGIN SELECT ROW_NUMBER() OVER(ORDER BY [BAT].[BATCHNO] DESC) AS [Id], [BAT].[BATCHNO] AS [BatchNo], [BAT].[TYPE] AS [Type], [BAT].[CODE] AS [Code], [BAT].[DATE] AS [Date], [BAT].[MATTER] AS [Matter], [BAT].[SUPP] AS [Supp], [BAT].[NARR] AS [Narr], [BAT].[VALUE] AS [Value] FROM [dbo].[RBatchH] [BAT] ORDER BY [BAT].[DATE] ASC, [BAT].[BATCHNO] ASC END GO IF OBJECT_ID(N'KAAS_GetSamMoveMatterList',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_GetSamMoveMatterList] GO CREATE PROCEDURE [dbo].[KAAS_GetSamMoveMatterList] AS /******************************************************************************************************* * Get move matter List * * * * Stored Procedure Name : [dbo].[KAAS_GetSamMoveMatterList] * * * * Modification History: * * 2021-09-27 Vinodhkumar M Created * *******************************************************************************************************/ BEGIN SELECT [MAT].CODE AS [Code], [MAT].CLIENTCODE AS [ClientCode], [MAT].DESCRIPTION AS [Description], [MAT].FECODE AS [FeCode], [MAT].DEPT AS [Dept], [MAT].WTYPE AS [WType], [MAT].BRANCH AS [Branch], [MAT].COMMENT AS [Comment], [MAT].DEBTBAL AS [DebtBal], [MAT].OUTLAYBAL AS [OutlayBal], [MAT].CLIENTBAL AS [ClientBal], [MAT].FILENUM AS [FileNum], [MAT].THIRDPART AS [ThirdParty], [MAT].THPARTSOL AS [ThirdSol], [MAT].OLDREF AS [OldRef], [MAT].PCODE AS [Pcode], [MAT].PFECODE AS [PFeCode], [MAT].USER1 AS [User1], [MAT].USER2 AS [User2], [MAT].USER3 AS [User3], [MAT].FILECOLOUR AS [FileColour], [MAT].OUTFILENO AS [OutFileNo], [MAT].CLOSED AS [Closed], [CON].NAME AS [Name], [CON].FE AS [FE], [CON].CLIENT AS [Client], [CON].CLIENTGROUP AS [ClientGroup], [CON].OTHERREF AS [OtherRef], [CON].OPSISREF AS [OpSisRef], [CON].CONTACTNO AS [ContactNo], [CON].COMPBILLONOFF AS [CompBillOnOff], [CON].TAXTYPE AS [TaxType] FROM [dbo].[Matters] [MAT] LEFT OUTER JOIN [dbo].[Contacts] [CON] ON [MAT].[CLIENTCODE]= [CON].[CODE] WHERE [MAT].CLOSED <> 'Y' ORDER BY [MAT].CODE ASC END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_GetSAMMultipleChequeGridDetails' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_GetSAMMultipleChequeGridDetails] END GO CREATE PROCEDURE [dbo].[KAAS_GetSAMMultipleChequeGridDetails] ( @handlerCode VARCHAR(10) = NULL ) AS /******************************************************************************************************************* * * * Stored Procedure Name : [dbo].[[AAS_GetSAMMultipleChequeGridDetails] * * Description: To Get Multiple Cheque Grid Details * * * * Modification History: * * 2021-08-16 Balamurugan Created * * 2021-08-19 Balamurugan Modified -Added UTC Conversion for Date and Entry Date * *******************************************************************************************************************/ BEGIN SELECT [BAT].[BATCHNO] AS [BatchNo], [BAT].[TYPE] AS [Type], [BAT].[CODE] AS [Code], [BAT].[REF] AS [Ref], [dbo].[KEYHM_FNConvertUTCDateToTargetTimeZone]([BAT].[Date], @handlerCode) AS [Date], [BAT].[MATTER] AS [Matter], [BAT].[SUBTOT] AS [SubTotal], [BAT].[SUPP] AS [Supp], [BAT].[NARR] AS [Narr], [BAT].[VALUE] AS [Value], [BAT].[POSTED] AS [Posted], [BAT].[PERNO] AS [PerNo], [BAT].[YEAR] AS [Year], [dbo].[KEYHM_FNConvertUTCDateToTargetTimeZone]([BAT].[ENTRYDATE], @handlerCode) AS [EntryDate], [BAT].[RECNO] AS [RecNo], [BAT].[USERCODE] AS [UserCode], [BAT].[CLIENTBANK] AS [ClientBank], [BAT].[CHEQUEREQNO] AS [ChequeReqNo] FROM [dbo].[BatchH] [BAT] WHERE [BAT].[TYPE] = 'M' END GO IF OBJECT_ID(N'KAAS_GetSAMOutstandingInvoices',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_GetSAMOutstandingInvoices] GO CREATE PROCEDURE [dbo].[KAAS_GetSAMOutstandingInvoices] (@matter VARCHAR(20)) AS /**************************************************************************************** * Get Outstanding Invoices for a matter * * * * Date Author Modification * * 2020-05-18 Revathy Copied from KAAS_GetOutstandingInvoices * * 2020-10-11 Vinodhkuamr M Updated - Removed space in Alias Names * ****************************************************************************************/ BEGIN SET NOCOUNT ON SELECT RTRIM(ISNULL(DTL.[MATTER], '')) AS [MatterCode], RTRIM(ISNULL(DTL.[TYPE], '')) AS [Type], RTRIM(ISNULL(DTL.[CLIENT], '')) AS [ClientCode], DTL.[DATE] As [Date], RTRIM(ISNULL(DTL.[REF], '')) AS [Ref], ISNULL(DTL.[BATCHNO], 0) AS [BatchNo], ISNULL(DTL.[PREF], 0) AS [Pref], ISNULL(DTL.[NARR], 0) AS [Narrative], ISNULL(DTL.[ORIGINAL], 0) AS [Original], ISNULL(DTL.[ORFEES], 0) AS [OriginalFees], ISNULL(DTL.[OROUTLAY], 0) AS [OriginalOutlay], ISNULL(DTL.[ORVAT], 0) AS [OriginalVAT], ISNULL(DTL.[OSVALUE], 0) AS [OSValue], ISNULL(DTL.[OSFEES], 0) AS [OutstandingFees], ISNULL(DTL.[OSOUTLAY], 0) AS [OutstandingOutlay], ISNULL(DTL.[OSVAT], 0) AS [OutstandingVAT], RTRIM(ISNULL(DTL.[VATCODE], '')) AS [VATCode], ISNULL(DTL.[PER], 0) AS [Period], ISNULL(DTL.[YEAR], 0) AS [Year], RTRIM(ISNULL(DTL.[FEECODE], '')) AS [LedgerFeeEarnerCode], RTRIM(ISNULL(LFE.[NAME], '')) AS [LedgerFeeEarner], CONVERT(INT, ISNULL(DTL.[RECORDID], 0)) AS [RecordID], RTRIM(ISNULL(MAT.[FECODE], '')) AS [FeeEarnerCode], RTRIM(ISNULL(FE.[NAME], '')) AS [FeeEarner], RTRIM(ISNULL(MAT.[DEPT], '')) AS [Dept], RTRIM(ISNULL(MAT.[WTYPE], '')) AS [WType], RTRIM(ISNULL(MAT.[BRANCH], '')) AS [Branch], ISNULL(MAT.[FILENUM], 0) AS [FileNum], RTRIM(ISNULL(MAT.[THIRDPART], '')) AS [ThirdPart], RTRIM(ISNULL(MAT.[ThPartSol], '')) AS [ThPartSol], RTRIM(ISNULL(MAT.[OldRef], '')) AS [OldRef], RTRIM(ISNULL(MAT.[PCODE], '')) AS [PCODE], RTRIM(ISNULL(MAT.[PFECODE], '')) AS [PFeeEarnerCode], RTRIM(ISNULL(PFE.[NAME], '')) AS [PFeeEarner], RTRIM(ISNULL(MAT.[USER1], '')) AS [User1], RTRIM(ISNULL(MAT.[USER2], '')) AS [User2], RTRIM(ISNULL(MAT.[USER3], '')) AS [User3], RTRIM(ISNULL(MAT.[FileColour], '')) AS [FileColour], ISNULL(MAT.[OUTFILENO], 0) AS [OutFileNo], RTRIM(ISNULL(CTC.[NAME], '')) AS [ClientName], RTRIM(ISNULL(CTC.[FE], '')) AS [ClientFeeEarnerCode], RTRIM(ISNULL(CFE.[NAME], '')) AS [ClientFeeEarner], CASE WHEN RTRIM(ISNULL(CTC.[CLIENT], 'N')) = 'Y' THEN 'Y' ELSE 'N' END AS [Client], RTRIM(ISNULL(CTC.[OTHERREF], '')) AS [OtherRef], RTRIM(ISNULL(CTC.[OPSISREF], '')) AS [OpsisRef], ISNULL(CTC.[CONTACTNO], 0) AS [ContactNo], ISNULL(CTC.[COMPBILLONOFF], 0) AS [CompBillOnOff], RTRIM(ISNULL(CTC.[CLIENTGROUP], '')) AS [ClientGroup], RTRIM(ISNULL(CTC.[TAXTYPE], '')) AS [TaxType], RTRIM(ISNULL(FCL.[COLOURDESC], '')) AS [FileColourDescription], ISNULL(FCL.[RGBColour], -1) AS [FileColourRGB], CASE WHEN ISNULL(DTL.[BATCHNO], 0) IN (SELECT DISTINCT ISNULL(ALLOCBATCH,0) FROM DBO.BATCHDETAILS) THEN 'Y' ELSE 'N' END AS [Isallocated], ISNULL((SELECT TOP 1 ISNULL(BAT.POSTED , 'N') POSTED FROM DBO.BATCHDETAILS BAD LEFT JOIN DBO.BATCHH BAT ON BAD.BATCHNO = BAT.BATCHNO WHERE ISNULL(BAT.POSTED , 'N') = 'N' AND ISNULL(BAD.ALLOCBATCH,0) <> 0 AND ISNULL(DTL.BATCHNO, 0) = ISNULL(BAD.ALLOCBATCH,0)),'N') AS [Posted] FROM [dbo].[DebtorsLedger] DTL LEFT OUTER JOIN [dbo].[matters] MAT LEFT OUTER JOIN [dbo].[Handlers] FE ON FE.[CODE] = MAT.[FECode] LEFT OUTER JOIN [dbo].[Handlers] PFE ON PFE.[CODE] = MAT.[PFECODE] LEFT OUTER JOIN [dbo].[contacts] CTC LEFT OUTER JOIN [dbo].[Handlers] CFE ON CFE.[CODE] = CTC.[FE] ON MAT.[ClientCode]= CTC.[Code] ON DTL.[MATTER] = MAT.[Code] LEFT OUTER JOIN [dbo].[Handlers] LFE ON LFE.[CODE] = DTL.[FEECODE] LEFT OUTER JOIN [dbo].[FileColours] FCL ON FCL.[COLOURCODE] = MAT.[FileColour] WHERE DTL.[MATTER] = @matter AND DTL.[OSVALUE] > 0 AND DTL.[DATE] IS NOT NULL ORDER BY DTL.[RECORDID] ASC SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_GetSAMPendingClientACDetails',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_GetSAMPendingClientACDetails] GO CREATE PROCEDURE [dbo].[KAAS_GetSAMPendingClientACDetails] ( @MatterCode VARCHAR(20) ) AS /******************************************************************************************************* * [dbo].[KAAS_GetSAMPendingClientACDetails] '000001/0000' * * Description: Used to list the matter ledger * * Modification History: * * 2021-04-09 Natarajan S Created * * 2021-04-09 Arun V Implemented coding standards * *******************************************************************************************************/ BEGIN SET NOCOUNT ON SELECT [BAD].[KEYID] AS [PRef], [BAD].[REF] AS [Ref], [BAD].[DATE] AS [Date], [BAD].[NARR] AS [Narr], [BAD].[VALUE] AS [ValueC], [BAD].[BATCHNO] AS [BatchNo] FROM [dbo].[BatchDetails] [BAD] LEFT OUTER JOIN [dbo].[BatchH] [BAH] ON [BAD].[BATCHNO] = [BAH].[BATCHNO] WHERE ([BAD].[MATTER] = @MatterCode AND [BAH].[POSTED] = 'N' AND ( [BAD].[OUTLAY] = 'C' OR [BAD].[TYPE] = 'R' AND [BAH].[THIRDPARTY] = 'Y' OR [BAD].[TYPE] = 'T' AND [BAH].[CLIENTAC] = 'Y') ) ORDER BY [BAD].[MATTER] ASC, [BAD].[KEYID] ASC SELECT SUM([VALUECC]) AS [ClientAccountTotal] FROM [dbo].[MatterLedger] WHERE [MATTER] = @MatterCode SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_GetSAMPurchaseList',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_GetSAMPurchaseList] GO CREATE PROCEDURE [dbo].[KAAS_GetSAMPurchaseList] (@Type varchar(4) = '', @Handler VARCHAR(10) = NULL) AS /******************************************************************************************************* * * * Stored Procedure Name : [dbo].[KAAS_GetSAMPurchaseList] * * Description: To Get list based Type * * * * Modification History: * * 2021-07-28 Vinodhkumar M Created * * 2021-08-09 Vinodhkumar M Type parameter is added * * 2021-08-11 Vinodhkumar M new column is added * * 2021-08-11 Vinodhkumar M Modified : change time zone for date,Entry date * *******************************************************************************************************/ BEGIN SELECT [BAT].[BATCHNO] AS [BatchNo], [BAT].[TYPE] AS [Type], [BAT].[CODE] AS [Code], [BAT].[REF] AS [Ref], [dbo].KEYHM_FNConvertUTCDateToTargetTimeZone([BAT].[DATE], @Handler) AS [Date], [BAT].[MATTER] AS [Matter], [BAT].[SUBTOT] AS [SubTotal], [BAT].[SUPP] AS [Supp], [BAT].[NARR] AS [Narr], [BAT].[VALUE] AS [Value], [BAT].[POSTED] AS [Posted], [BAT].[PERNO] AS [PerNo], [BAT].[YEAR] AS [Year], [BAT].[ENTRYDATE] AS [EntryDate], [dbo].KEYHM_FNConvertUTCDateToTargetTimeZone([BAT].[ENTRYDATE], @Handler) AS [EntryDate], [BAT].[RECNO] AS [RecNo], [BAT].[USERCODE] AS [UserCode], [BAT].[CLIENTBANK] AS [ClientBank], [BAT].[CHEQUEREQNO] As [ChequeReqNo] FROM [dbo].[BatchH] [BAT] WHERE ([BAT].[TYPE] = @Type AND [BAT].[POSTED] = 'N') ORDER BY [BAT].[POSTED] ASC, [BAT].[ENTRYDATE] ASC END GO IF OBJECT_ID(N'KAAS_GetSamSelectContactList',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_GetSamSelectContactList] GO CREATE PROCEDURE [dbo].[KAAS_GetSamSelectContactList] AS /******************************************************************************************************* * Get move matter List * * * * Stored Procedure Name : [dbo].[KAAS_GetSamSelectContactList] * * * * Modification History: * * 2021-09-27 Vinodhkumar M Created * *******************************************************************************************************/ BEGIN SELECT [CONT].[CODE] AS [Code], [CONT].[Name] AS [Name], [CONT].[Address] AS [Address], [CONT].PRINCIPAL AS [Principal], [CONT].FE AS [FE], [CONT].CLIENT AS [Client], [CONT].CLIENTGROUP AS [ClientGroup], [CONT].OTHERREF AS [OtherRef], [CONT].OPSISREF AS [OpSisRef], [CONT].CONTACTNO AS [ContactNo], [CONT].COMPBILLONOFF AS [CompBillOnOff], [CONT].TAXTYPE AS [TaxType] FROM [dbo].[contacts] [CONT] ORDER BY [CONT].CODE ASC END GO IF OBJECT_ID(N'KAAS_GetSAMSelectedBillDetails',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_GetSAMSelectedBillDetails] GO CREATE PROCEDURE [dbo].[KAAS_GetSAMSelectedBillDetails] (@KeyId INT = NULL, @DraftNo INT = NULL) AS /******************************************************************************************************* * Get bill details based on keyId * * * * Stored Procedure Name : [dbo].[KAAS_GetSAMSelectedBillDetails] * * * * Modification History: * * 2021-09-17 Vinodhkumar M Created * *******************************************************************************************************/ BEGIN SELECT [MATTER] AS [Matter], [DRAFTNO] AS [DraftNo], [BILLNO] AS [BillNo], [TYPE] AS [Type], [FEEEARNER] AS [FeeEarner], [NOMINAL] AS [Nominal], [NARRATIVE] AS [Narrative], [NET] AS [Net], [VATCODE] AS [VatCode], [VATRATE] AS [VatRate], [VATVALUE] AS [VatValue], [LINENO] AS [LineNo], [KEYID] AS [KeyId], [OVERRIDDENVAT] AS [OverriddenVat], [PREBILLEDOUTLAY] AS [PreBillingOutlay] FROM [dbo].[BillDetails] WHERE [KEYID] = @KeyId AND [DRAFTNO] = @DraftNo END GO IF OBJECT_ID(N'KAAS_GetSAMSelectedMatterWithContact',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_GetSAMSelectedMatterWithContact] GO CREATE PROCEDURE [dbo].[KAAS_GetSAMSelectedMatterWithContact] (@Code VARCHAR(50) ='') AS /******************************************************************************************************* * Get Matter and Contacts details based on Matter Code * * * * Stored Procedure Name : [dbo].[KAAS_GetSAMSelectedMatterWithContact] * * * * Modification History: * * 2021-09-16 Vinodhkumar M Created * *******************************************************************************************************/ BEGIN SELECT [MAT].[CODE] AS [Code], [MAT].[CLIENTCODE] AS [ClientCode], [MAT].[MATTER] AS [Matter], [MAT].[DESCRIPTION] AS [Description], [MAT].[DEBTBAL] AS [DebtBal], [MAT].[OUTLAYBAL] AS [OutlayBal], [MAT].[CLIENTBAL] AS [ClientBal], [MAT].[CHARGEBAL] AS [ChargeBal], [dbo].[ky_TimeFromMinutes]([MAT].[TimeBal]) AS [TimeBal], [CON].[NAME] AS [Name], [CON].[ADDRESS] AS [Address] FROM [dbo].[MATTERS] [MAT] INNER JOIN [dbo].[CONTACTS] [CON] ON [CON].[CODE] = [MAT].[CLIENTCODE] WHERE [MAT].[CODE] = @Code END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_GetSAMSystemOptionsDetails' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_GetSAMSystemOptionsDetails] END GO CREATE PROCEDURE [dbo].[KAAS_GetSAMSystemOptionsDetails] AS /******************************************************************************************************* * Fetches the System Options Dropdown List * * * * Stored Procedure Name : [dbo].[KAAS_GetSystemOptionsDetails] * * * * Modification History: * * 2021-08-02 Balamurugan.C Created * * 2021-09-07 Balamurugan.C Updated- Include Allow Forward Posting Flag * * 2021-09-20 Balamurugan.C Modified- Removed Year End Date from control table and used * srettings table year end date * * 2021-10-13 Vinodhkumar.M Updated- Include EFT_EFTDebt * * 2021-11-18 Vinodhkumar.M Updated- Include IEConvert,EICONVERT,BaseCurrency * *******************************************************************************************************/ BEGIN SET NOCOUNT ON SELECT RTRIM([Name]) AS [Name], RTRIM([Debtors]) AS [DebtorsControlAc], RTRIM([Creditor]) AS [CreditorControlAc], RTRIM([VatNo]) AS [VatNo], RTRIM([Outlay]) AS [OutlayControlAc], RTRIM([Vat]) AS [VatAc], RTRIM([Pl]) AS [ProfitLossAc], RTRIM([Client]) AS [ClientLedgerControl], RTRIM([FeesWriteOff]) AS [FeesWriteOffAc], RTRIM([OutlayWriteOff]) AS [OutlayWriteOffAc], RTRIM([BillsWriteOff]) AS [BillsWriteOffAc], RTRIM([DefaultOfficeAc]) AS [DefaultOfficeAc], RTRIM([DefaultClientAc]) AS [DefaultClientAc], RTRIM([DefaultClientDep]) AS [DefaultClientDepositAc], RTRIM([MiscOutlay]) AS [MiscOutlay], RTRIM([PettyCash]) AS [DefaultPettyCash], RTRIM([withTax]) AS [WithHoldingTax], [Year] AS [Year], [CurPer] AS [CurrentPeriod], [OutlayBudget] AS [StdOutlayBudget], [LastBill] AS [LastBillNo], RTRIM([VatExclude]) AS [VatExclusionCode], RTRIM([DefaultVat]) AS [DefaultVat], RTRIM([FeeExclude]) AS [FeeExclusionCode], RTRIM([MiscFE]) AS [DefaultMiscOutlayFeeEarner], RTRIM([EnableFNL]) AS [EnableFNL], [EnableCDB] AS [EnableClientDB], [UK] AS [UK], [EnableDW] AS [EnableDeedsWills], [YearEndCompleted] AS [YearEndCompleted], [EnableFM] AS [EnableFM], [UseOutlayType] AS [UseOutlayType], [PendingOutlay] AS [PendingOutlay], [RecInstalled] AS [EnableBankRec], [Indicator18] AS [BillPrinting], [Indicator19] AS [UniqueMatterNumbering], [Indicator20] AS [IntrestCalculator], [Indicator22] AS [UseBranches], [Indicator23] AS [TaggedBatches], [Indicator24] AS [Indicator24], [Indicator25] AS [Indicator25], [Indicator26] AS [Indicator26], [Indicator27] AS [Indicator27], [Indicator28] AS [Indicator28], [Indicator29] AS [Indicator29], [Indicator30] AS [Indicator30], [WordPerfect] AS [WordPerfect], [DemoExpire] AS [DemoExpire], [MaxNumberofMatters] AS [MaxMatter], [OpSisLink] AS [CaseMgrLink], [TimeCosting] AS [TimeCostingInstalled], [ForceFE] AS [ForceFeeEarnerCode], [LabelPrinter] AS [LabelPrinter], [FeesRepSeq] AS [FeesReportingSeq], [NoBar] AS [OverdrawnClientAc], RTRIM([Solicitor]) AS [SolicitorCategory], RTRIM([OthParty]) AS [OtherPartyCategory], RTRIM([SupplierCategory]) AS [SupplierCategory], RTRIM([DefaultCategory]) AS [SystemCategoryType], [AutoNumber] AS [AutoNumberClients], [AutoAlphaClientNumbering] AS [AutoAlphaClientNumbering], [ThirdPartyLimit] AS [ThirdPartyLimit], [EiConvert] AS [ConversionRate], [DateFutValidation] AS [DateFutureValidation], [DatePastValidation] AS [DatePastValidation], RTRIM([USerPrompt1]) AS [PromptRef1], RTRIM([USerPrompt2]) AS [PromptRef2], RTRIM([USerPrompt3]) AS [PromptRef3], [NextFile] AS [NextFile], [ClosedFileNo] AS [ClosedFileNumber], RTRIM([ChequePrinting]) AS [ChequeType], [EnableCP] AS [EnableChequePrinting], [IECONVERT] AS [CurrencyConvertValue], [EICONVERT] AS [EIConvertValue], [BaseCurrency] AS [BaseCurrency], [dbo].[KAAS_FN_GetDateFromClarion]([PeriodEnd]) AS [NextPeriodEnd] FROM [dbo].[Control] SELECT MAX(CASE WHEN [STI].[KeyName] = 'TimeBarred' THEN OutputValue END) AS [TimeBarred], MAX(CASE WHEN [STI].[KeyName] = 'SupplierRemittance_On' THEN OutputValue END) AS [SupplierRemittanceOn], MAX(CASE WHEN [STI].[KeyName] = 'EFTDefaultON' THEN OutputValue END) AS [EFTDefaultON], MAX(CASE WHEN [STI].[KeyName] = 'MatterOutlayBudgetCheckON' THEN OutputValue END) AS [MatterOutlayBudgetCheckON], MAX(CASE WHEN [STI].[KeyName] = 'CASE_LabelNo' THEN RTRIM(OutputValue) END) AS [CaseLabelNo], MAX(CASE WHEN [STI].[KeyName] = 'InvoiceApprover' THEN RTRIM(OutputValue) END) AS [InvoiceApprover], MAX(CASE WHEN [STI].[KeyName] = 'ChequeApprover' THEN RTRIM(OutputValue) END) AS [ChequeApprover], MAX(CASE WHEN [STI].[KeyName] = 'NotifyReleasedInv' THEN OutputValue END) AS [NotifyReleasedInv], MAX(CASE WHEN [STI].[KeyName] = 'NotifyApprovedInv' THEN OutputValue END) AS [NotifyApprovedInv], MAX(CASE WHEN [STI].[KeyName] = 'NotifyReleasedChq' THEN OutputValue END) AS [NotifyReleasedChq], MAX(CASE WHEN [STI].[KeyName] = 'NotifyApprovedChq' THEN OutputValue END) AS [NotifyApprovedChq], MAX(CASE WHEN [STI].[KeyName] = 'EMailServer' THEN OutputValue END) AS [SMTPMailServer], MAX(CASE WHEN [STI].[KeyName] = 'Money Laundering_MoneyLaunderingCheck' THEN OutputValue END) AS [MoneyLaunderingCheck], MAX(CASE WHEN [STI].[KeyName] = 'Money Laundering_Dept' THEN RTRIM(OutputValue) END) AS [MoneyLaunderingDept], MAX(CASE WHEN [STI].[KeyName] = 'Money Laundering_FeeEarner' THEN RTRIM(OutputValue) END) AS [MoneyLaunderingFeeEarner], MAX(CASE WHEN [STI].[KeyName] = 'Money Laundering_WorkType' THEN RTRIM(OutputValue) END) AS [MoneyLaunderingWorkType], MAX(CASE WHEN [STI].[KeyName] = 'Options_Conversion' THEN RTRIM(OutputValue) END) AS [ShowLedgerButton], MAX(CASE WHEN [STI].[KeyName] = 'CompositeBilling' THEN RTRIM(OutputValue) END) AS [CompositeBilling], MAX(CASE WHEN [STI].[KeyName] = 'AllowFwPostingJournals' THEN RTRIM(OutputValue) END) AS [AllowFwPostingJournals], MAX(CASE WHEN [STI].[KeyName] = 'YearEndDate' THEN TRY_PARSE(OutputValue as date USING 'AR-LB') END) AS [YearEndDate], MAX(CASE WHEN [STI].[KeyName] = 'EFT_EFTDebt' THEN RTRIM(OutputValue) END) AS [EFTDebt] FROM [dbo].[Settings] STI CROSS APPLY ( VALUES ([KeyValue]) ) CPV(OutputValue) WHERE [STI].[KeyName] IN ( 'TimeBarred', 'SupplierRemittance_On', 'EFTDefaultON', 'MatterOutlayBudgetCheckON', 'CASE_LabelNo', 'InvoiceApprover', 'ChequeApprover', 'NotifyReleasedInv', 'NotifyApprovedInv', 'NotifyReleasedChq', 'NotifyApprovedChq', 'Money Laundering_MoneyLaunderingCheck', 'Money Laundering_Dept', 'Money Laundering_FeeEarner', 'Money Laundering_WorkType', 'EMailServer', 'Options_Conversion', 'CompositeBilling', 'AllowFwPostingJournals', 'YearEndDate', 'EFT_EFTDebt' ) SET NOCOUNT OFF END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_GetSAMSystemOptionsDropDownList' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_GetSAMSystemOptionsDropDownList] END GO CREATE PROCEDURE [dbo].[KAAS_GetSAMSystemOptionsDropDownList] AS /******************************************************************************************************* * Fetches the System Options Dropdown List * * * * Stored Procedure Name : [dbo].[KAAS_GetSAMSystemOptionsDropDownList] * * * * Modification History: * * 2021-08-01 Balamurugan.C Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON SELECT [Code], [Desc], [Type], [Retired] FROM [dbo].[Nominal] ORDER BY [Code] ASC SELECT [Code], [Name], [Nominal], [Retired] FROM [dbo].[FeeEarnerCodes] ORDER BY [Code] ASC SELECT [Code], [Rate] FROM [dbo].[VATCodes] ORDER BY [Code] ASC SELECT [Code], [Desc], [Pb] FROM [dbo].[NominalReportSeq] WHERE [Pb] = ' ' ORDER BY [Pb] DESC, [Code] DESC SELECT RTRIM([CatType]) AS [CatType], RTRIM([Code]) AS [Code], RTRIM([Desc$]) AS [Description], RTRIM([CategoryType]) AS [CategoryType] FROM [dbo].[Category] LEFT OUTER JOIN [dbo].[CategoryType] ON [CatType]=[CategoryType] WHERE [CatType]= (SELECT [DefaultCategory] FROM [dbo].[control]) ORDER BY [CatType] DESC, [Code] DESC SELECT RTRIM([CategoryType]) AS [CategoryType], RTRIM([Description]) AS [Description] FROM [dbo].[CategoryType] ORDER BY [CategoryType] ASC SELECT RTRIM([Code]) AS [Code], RTRIM([Description]) AS [Description] FROM [dbo].[Departments] WHERE ISNULL([Retired],'') <> 'Y' ORDER BY [Code] ASC SELECT RTRIM([Code]) AS [Code], RTRIM([Description]) AS [Description] FROM [dbo].[WorkTypes] WHERE ISNULL([Retired],'') <> 'Y' ORDER BY [Code] ASC SET NOCOUNT OFF END GO IF EXISTS(SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_GetSAMUndertakingBaseDetails' AND SO.[type] = 'P' ) BEGIN DROP PROCEDURE [dbo].[KAAS_GetSAMUndertakingBaseDetails] END GO CREATE PROCEDURE [dbo].[KAAS_GetSAMUndertakingBaseDetails]( @MatterCode VARCHAR(20), @FECode VARCHAR(10), @Handler VARCHAR(10) ) AS /******************************************************************************************************* * [dbo].[KAAS_GetSAMUndertakingBaseDetails] '000001/0000','ADM','ADM' * * Description: Get basic undertaking details to insert undertakings * * Modification History: * * 2021-04-10 Natarajan S Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON SELECT [RecordId] AS [RecordId], [MATTER] AS [MATTER], [SEQ] AS [SEQ], [DISCHARGEDATE] AS [DischargeDate], [TYPE] AS [TYPE], [DESCRIPTION] AS [DESCRIPTION], [WHO] AS [WHO], [ACTIONID] AS [ACTIONID], [GIVENORRECEIVED] AS [GivenOrReceived], [NOTIFIED] AS [Notified], [DISCHARGEDESCRIPTION] AS [DischargeDescription], [DISCHARGEDBY] AS [DischargedBy], [DEALINGNUMBER] AS [DealingNumber], [NOTES] AS [Notes], [COMMERCIALORNON] AS [CommercialOrNon], [STATUS] AS [STATUS], [dbo].KAAS_FNConvertUTCDateToTargetTimeZone([DATE],@Handler) AS [Date], [dbo].KAAS_FNConvertUTCDateToTargetTimeZone([UNDDATE],@Handler) AS [UndDate], [VALUE] AS [VALUE], [UNDVALUE] AS [UndValue], [AUTHORISEDBYFE] AS [AUTHORISEDBYFE], [HANDLER] AS [Handler], [UNDERTAKINGTO] AS [UndertakingTo], [CASECONTACT] AS [CaseContact], [ENTRYDATE] AS [EntryDate], [CATEGORY] AS [Category], [ISCONDITIONAL] AS [IsConditional], [CONDITION] AS [Condition], [NEEDSATTENTION] AS [NeedsAttention] FROM [dbo].[Undertakings] WHERE ([MATTER] = @MatterCode AND (MATTER < @MatterCode OR ([SEQ] <= 99 AND ([SEQ] < 99 OR ([DATE] <= null AND ([DATE] < NULL OR ([RECORDID] <= 0 ))))))) ORDER BY [MATTER] DESC, [SEQ] DESC, [DATE] DESC, [RECORDID] DESC SELECT [CODE] AS [Code], [BRANCH] AS [Branch], [NAME] AS [Name], [NOMINAL] AS [Nominal], [RETIRED] AS [Retired] FROM [dbo].[FeeEarnerCodes] WHERE [CODE] = @FECode SET NOCOUNT OFF END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_GetSAMUndertakingDetails' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].KAAS_GetSAMUndertakingDetails END go CREATE PROCEDURE [dbo].[KAAS_GetSAMUndertakingDetails] (@MatterCode VARCHAR(20),@Handler VARCHAR(10)) AS /******************************************************************************************************* * * *Used to Get Undertaking details * * Stored Procedure Name: [dbo].KAAS_GetSAMUndertakingDetails '000003/0008','ADM' * * Modification History: * * 2021-03-30 Natarajan S Created * * 2021-06-01 Balamurugan Modified--Commented the type column case when * *******************************************************************************************************/ BEGIN EXEC [dbo].KAAS_GetSAMHeaderDetails @MatterCode SELECT [UND].[RecordID], [UND].[Matter], [UND].[Seq], [dbo].KAAS_FNConvertUTCDateToTargetTimeZone([UND].[DischargeDate],@Handler) AS [DischargeDate], [UND].[Type], [UND].[Description], [UND].[Who], [UND].[ActionID], [UND].[Status], [dbo].KAAS_FNConvertUTCDateToTargetTimeZone([UND].[Date],@Handler) AS [Date], [UND].[Value], [UND].[AuthorisedByFE] FROM [dbo].[Undertakings] [UND] WHERE [UND].[MATTER] = @MatterCode ORDER BY [UND].[MATTER] ASC, [UND].[SEQ] ASC, [UND].[DATE] ASC, [UND].[RECORDID] END GO IF EXISTS(SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_GetSAMUndertakingDetailsForEdit' AND SO.[type] = 'P' ) BEGIN DROP PROCEDURE [dbo].[KAAS_GetSAMUndertakingDetailsForEdit] END GO CREATE PROCEDURE [dbo].[KAAS_GetSAMUndertakingDetailsForEdit] ( @RecordId INT, @Handler VARCHAR(10) = '' ) AS /******************************************************************************************************* * * *Used to Get Undertaking details for edit * * Stored Procedure Name: [dbo].KAAS_GetSAMUndertakingDetailsForEdit 166,'ADM' * * Modification History: * * 2021-03-30 Natarajan S Created * * 2021-10-04 Balamurugan.c Modified - Change DATE to Date * *******************************************************************************************************/ BEGIN SELECT [UDK].[RecordId] AS [RecordId], [UDK].[Matter] AS [Matter], [UDK].[Seq] AS [Seq], [dbo].KAAS_FNConvertUTCDateToTargetTimeZone([UDK].[DISCHARGEDATE],@Handler) AS [DischargeDate], [UDK].[Type] AS [Type], [UDK].[Description] AS [Description], [UDK].[Who] AS [Who], [UDK].[ActionId] AS [ActionId], [UDK].[GivenOrReceived] AS [GivenOrReceived], [UDK].[DischargeDescription] AS [DisDescription], [UDK].[DischargedBy] AS [DischargedBy], [UDK].[DealingNumber] AS [DealingNumber], [UDK].[Notes] AS [Notes], [UDK].[CommercialOrNon] AS [CommercialOrNon], [UDK].[Status] AS [Status], [dbo].KAAS_FNConvertUTCDateToTargetTimeZone([UDK].[DATE],@Handler) AS [Date], [UDK].[Value] AS [Value], [UDK].[AuthorisedByFe] AS [AuthorisedByFe], [UDK].[Handler] AS [Handler], [UDK].[UndertakingTo] AS [UndertakingTo], [UDK].[CaseContact] AS [CaseContact], [UDK].[EntryDate] AS [EntryDate], [UDK].[Category] AS [Category], [UDK].[IsConditional] AS [IsConditional], [UDK].[Condition] AS [Condition], [UDK].[NeedsAttention] AS [NeedsAttention], [UDK].[AddCommentLedger] AS [AddCommentLedger], [dbo].KAAS_FNConvertUTCDateToTargetTimeZone([DIA].[DATE],@Handler) AS [DueDate], [DIA].[TeamCode] AS [TeamCode], [DIA].[FNCode] AS [FNCode], [DIA].[Text1] AS [Text1] FROM [dbo].[Undertakings] [UDK] INNER JOIN [dbo].[diary] [DIA] ON [UDK].[ActionId]=[DIA].[ActionId] WHERE [RecordId]=@RecordId END GO IF EXISTS(SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_GetSAMUndertakingDiaryDetails' AND SO.[type] = 'P' ) BEGIN DROP PROCEDURE [dbo].[KAAS_GetSAMUndertakingDiaryDetails] END GO CREATE PROCEDURE [dbo].[KAAS_GetSAMUndertakingDiaryDetails] ( @ActionCode VARCHAR(20), @FECode VARCHAR(10) ) AS /******************************************************************************************************* * [dbo].[KAAS_GetSAMUndertakingDiaryDetails] * * Description: Get basic details to insert into diary information. * * Modification History: * * 10 APR 2021 Natarajan S Created * * 14 JUL 2021 Natarajan S Modified - SP Formatted * *******************************************************************************************************/ BEGIN SET NOCOUNT ON SELECT CASE [Priority] WHEN 'High' THEN 'H' ELSE 'N' END AS [Priority], [Highlighted] AS [Highlighted], [Publisher] AS [Publish], [ActionCode] AS [ActionCode], [Status] AS [ActionStatus], [ActionCategory] AS [ActionType], [ProcessType] AS [ProcessType], [Desc] AS [ActionCodeDescription], [Code] AS [FNCode], [Team] AS[TeamCode] FROM [dbo].[TemplateActions], [dbo].[Handlers] WHERE [Code] = @FECode AND [ActionCode] = @ActionCode SET NOCOUNT OFF END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_GetSAMUnpostedBatches' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_GetSAMUnpostedBatches] END GO CREATE PROCEDURE [dbo].[KAAS_GetSAMUnpostedBatches] AS /******************************************************************************************************* * Fetches the unposted batches * * * * Stored Procedure Name : [dbo].[KAAS_GetSAMUnpostedBatches] * * * * Modification History: * * 09 Sep 2021 Balamurugan C Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON SELECT [BatchNo], [Type], [Code], [Ref], [Date], [Fee], [Matter], [Supp], [Narr], [Value], [Posted], [PerNo], [Year], [EntryDate], [RecNo], [ChequeReqNo] FROM [dbo].[BatchH] WHERE [Posted]='N' ORDER BY [Posted] ASC, [EntryDate] ASC SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_GetSAMUpdateApproveBillHeader',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_GetSAMUpdateApproveBillHeader] GO CREATE PROCEDURE [dbo].[KAAS_GetSAMUpdateApproveBillHeader] (@Code VARCHAR(50) = '', @DraftNo INT, @BillSentOrNot CHAR(1) = '', @Date DATE, @Message VARCHAR(100) = '', @BillTo VARCHAR(100) = '') AS /******************************************************************************************************* * Update Bill Header * * * * Stored Procedure Name : [dbo].[KAAS_GetSAMUpdateApproveBillHeader] * * * * Modification History: * * 2021-09-16 Vinodhkumar M Created * *******************************************************************************************************/ BEGIN UPDATE [dbo].[BillHeader] SET [BILLSENT] = @BillSentOrNot, [DATE] = @Date, [RETURNREASON] = @Message, [ADDRESSEE] = @BillTo WHERE [MATTER]= @Code AND [DRAFTNO]=@DraftNo END GO IF OBJECT_ID(N'KAAS_GetSamUpdateDebtLodgement',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_GetSamUpdateDebtLodgement] GO CREATE PROCEDURE [dbo].[KAAS_GetSamUpdateDebtLodgement] (@PostingRef INT = 0, @LastBatch INT = 0) AS /******************************************************************************************************* * Update Debt Lodgement * * * * Stored Procedure Name : [dbo].[KAAS_GetSamUpdateDebtLodgement] * * * * Modification History: * * 2021-10-01 Vinodhkumar M Created * * 2021-10-18 Vinodhkumar M Modified - removed insert query * *******************************************************************************************************/ BEGIN BEGIN TRY BEGIN TRAN UPDATE [dbo].[DebtCostingLedger] SET XnId = @LastBatch WHERE POSTINGREF = @PostingRef COMMIT TRAN END TRY BEGIN CATCH ROLLBACK TRAN END CATCH END GO IF OBJECT_ID(N'KAAS_GetSamUpdateMatterClientCode',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_GetSamUpdateMatterClientCode] GO CREATE PROCEDURE [dbo].[KAAS_GetSamUpdateMatterClientCode] (@Code VARCHAR(11) = '', @ClientCode VARCHAR(8) = '', @PreviousClientCode VARCHAR(8) = '') AS /******************************************************************************************************* * Update Matter and Client Code * * * * Stored Procedure Name : [dbo].[KAAS_GetSamUpdateMatterClientCode] * * * * Modification History: * * 2021-10-01 Vinodhkumar M Created * *******************************************************************************************************/ BEGIN BEGIN TRY BEGIN TRAN DECLARE @FormatNewMaterCode VARCHAR(4) = '', @NewClientMatterCode VARCHAR(11) = '', @oldClientCode VARCHAR(11) = ''; --UPDATE LAST MATTER COUNTS FOR NEW CLIENT UPDATE [dbo].[Contacts] SET [LastMatter] = (LastMatter + 1) WHERE [Code] = @ClientCode SELECT @oldClientCode = Code, @FormatNewMaterCode = RIGHT('000'+CAST(ISNULL(LastMatter,0) AS VARCHAR),4) FROM [dbo].[Contacts] WHERE [Code] = @ClientCode SET @NewClientMatterCode = (@oldClientCode+'/'+@FormatNewMaterCode) --INSERT NEW RECORD IN MATTER TABLE INSERT INTO [dbo].[matters] ([Code] ,[ClientCode] ,[Matter] ,[Description] ,[FECode] ,[Partner] ,[Secretary] ,[Dept] ,[Started] ,[WType] ,[Branch] ,[EstFee] ,[OutlayBud] ,[ExpBillD] ,[ExpPayD] ,[S13] ,[Comment] ,[DebtBal] ,[OutlayBal] ,[ClientBal] ,[ClientCurBal] ,[ClientDepBal] ,[DebtBalFwd] ,[OutlayBalFwd] ,[ClientBalFwd] ,[ClientCurBalFwd] ,[ClientDepBalFwd] ,[PendingBal] ,[ClientMin] ,[FileNum] ,[ThirdPart] ,[ThPartSol] ,[Value] ,[Undertaking] ,[LastAct] ,[LastActType] ,[LastActWho] ,[StatuteLimits] ,[Status] ,[Section68] ,[FNL_Date] ,[FNL_Name] ,[FNL_Address] ,[FNL_Fees] ,[FNL_Outlay] ,[FNL_VAT] ,[FNL_Total] ,[OldRef] ,[PCODE] ,[PFECODE] ,[User1] ,[User2] ,[User3] ,[DepositName] ,[DepositType] ,[TimeBal] ,[ChargeBal] ,[YourRef] ,[CurDebtBal] ,[CurOutlayBal] ,[CurClientBal] ,[CurClientCBal] ,[CurClientDBal] ,[CurDebtBalFwd] ,[CurOutlayBalFwd] ,[CurClientBalFwd] ,[CurClientCBalFwd] ,[CurClientDBalFwd] ,[CurPendingBal] ,[Unallocated] ,[Statements] ,[ChargeLevel] ,[FileColour] ,[OpenInvoiceNo] ,[Password] ,[CompBillOnOff] ,[CompFrequency] ,[CompOutlayLimit] ,[CompFeesLimit] ,[CompTotalLimit] ,[CompBillingMatter] ,[CompBilling] ,[ClientName] ,[ClientAddress] ,[ClientSalutation] ,[ChargeArrangement] ,[Importance] ,[OriginalDebt] ,[DebtCollected] ,[RecoverableCosts] ,[DebtInterest] ,[BillingMethod] ,[CollectingBalance] ,[Publish] ,[Permissions] ,[ChargeOutRateInd] ,[OUTFileNo] ,[OrgClosedDate] ,[ReOpenedDate] ,[FixedFee] ,[ShowCommentInAlarm] ,[OtherRef] ,[Location] ,[DestroyDate] ,[Closed] ,[ClosingDate] ,[CloseDate] ,[DepositAC1] ,[DepositAC2] ,[DepositAC3] ,[ArchiveDate] ,[ArchiveLocation] ,[SetupYear] ,[SetupPeriod] ,[OldNew] ,[ClientBankAc] ,[OfficeBankAc] ,[FileManagerFileNumber] ,[ItemCode] ,[BoxNumber] ,[BillingFE] ,[EstFeeIndicator] ,[DestroyedBy] ,[FileBarCodeNo] ,[BoxBarCodeNo] ,[ActualDestroyDate] ,[NoWinNoFee] ,[FeeType]) SELECT @NewClientMatterCode AS [Code] ,@ClientCode ,@FormatNewMaterCode AS [Matter] ,[Description] ,[FECode] ,[Partner] ,[Secretary] ,[Dept] ,[Started] ,[WType] ,[Branch] ,[EstFee] ,[OutlayBud] ,[ExpBillD] ,[ExpPayD] ,[S13] ,[Comment] ,[DebtBal] ,[OutlayBal] ,[ClientBal] ,[ClientCurBal] ,[ClientDepBal] ,[DebtBalFwd] ,[OutlayBalFwd] ,[ClientBalFwd] ,[ClientCurBalFwd] ,[ClientDepBalFwd] ,[PendingBal] ,[ClientMin] ,[FileNum] ,[ThirdPart] ,[ThPartSol] ,[Value] ,[Undertaking] ,[LastAct] ,[LastActType] ,[LastActWho] ,[StatuteLimits] ,[Status] ,[Section68] ,[FNL_Date] ,[FNL_Name] ,[FNL_Address] ,[FNL_Fees] ,[FNL_Outlay] ,[FNL_VAT] ,[FNL_Total] ,[OldRef] ,@NewClientMatterCode AS [PCODE] ,[PFECODE] ,[User1] ,[User2] ,[User3] ,[DepositName] ,[DepositType] ,[TimeBal] ,[ChargeBal] ,[YourRef] ,[CurDebtBal] ,[CurOutlayBal] ,[CurClientBal] ,[CurClientCBal] ,[CurClientDBal] ,[CurDebtBalFwd] ,[CurOutlayBalFwd] ,[CurClientBalFwd] ,[CurClientCBalFwd] ,[CurClientDBalFwd] ,[CurPendingBal] ,[Unallocated] ,[Statements] ,[ChargeLevel] ,[FileColour] ,[OpenInvoiceNo] ,[Password] ,[CompBillOnOff] ,[CompFrequency] ,[CompOutlayLimit] ,[CompFeesLimit] ,[CompTotalLimit] ,[CompBillingMatter] ,[CompBilling] ,[ClientName] ,[ClientAddress] ,[ClientSalutation] ,[ChargeArrangement] ,[Importance] ,[OriginalDebt] ,[DebtCollected] ,[RecoverableCosts] ,[DebtInterest] ,[BillingMethod] ,[CollectingBalance] ,[Publish] ,[Permissions] ,[ChargeOutRateInd] ,[OUTFileNo] ,[OrgClosedDate] ,[ReOpenedDate] ,[FixedFee] ,[ShowCommentInAlarm] ,[OtherRef] ,[Location] ,[DestroyDate] ,'N' AS [Closed] ,NULL AS [ClosingDate] ,NULL AS [CloseDate] ,[DepositAC1] ,[DepositAC2] ,[DepositAC3] ,[ArchiveDate] ,[ArchiveLocation] ,[SetupYear] ,[SetupPeriod] ,[OldNew] ,[ClientBankAc] ,[OfficeBankAc] ,[FileManagerFileNumber] ,[ItemCode] ,[BoxNumber] ,[BillingFE] ,[EstFeeIndicator] ,[DestroyedBy] ,[FileBarCodeNo] ,[BoxBarCodeNo] ,[ActualDestroyDate] ,[NoWinNoFee] ,[FeeType] FROM [dbo].[matters] WHERE [Code]=@Code --CLOSE EXISTING CLIENT MATTER CODE UPDATE [dbo].[matters] SET [Description] = ('Moved to NEW Matter: '+@NewClientMatterCode), [Comment] = ([Comment] +'Moved to NEW Matter: '+@NewClientMatterCode), [Closed] = 'Y', [ClosingDate] = GETUTCDATE(), [CloseDate] = GETUTCDATE() WHERE [Code]=@Code --UPDATE OPEN MATTER COUNTS FOR PREVIOUS CLIENT UPDATE [dbo].[Contacts] SET [OpenMatters] = (SELECT COUNT(1) FROM [dbo].[matters] WHERE [ClientCode]=@PreviousClientCode AND [Closed]='N') WHERE [Code] = @PreviousClientCode --UPDATE OPEN MATTER COUNTS FOR NEW CLIENT UPDATE [dbo].[Contacts] SET [OpenMatters] = (SELECT COUNT(1) FROM [dbo].[matters] WHERE [ClientCode]=@ClientCode AND [Closed]='N') WHERE [Code] = @ClientCode COMMIT TRAN END TRY BEGIN CATCH ROLLBACK TRAN END CATCH END GO IF OBJECT_ID(N'KAAS_GetSettingsDetails',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_GetSettingsDetails] GO CREATE PROCEDURE [dbo].[KAAS_GetSettingsDetails] ( @KeyName VARCHAR(20) ='', @mode VARCHAR(6) ='' ) AS /******************************************************************************************************* * [dbo].[KAAS_GetSettingsDetails] * * Description: Used to get EFT status from system options * * Modification History: * * 2021-05-19 Natarajan S Created * * 2021-05-26 Balamurugan C Modified-Added EFT Alert Details * *******************************************************************************************************/ BEGIN SET NOCOUNT ON IF(@mode='SELECT') BEGIN /*EFT Default ON Setting*/ SELECT KeyValue FROM Settings Where KeyName = @KeyName /*EFT Alert Setting*/ SELECT [EFTYN] FROM [EFTDetails] END IF(@mode='UPDATE') BEGIN /*UPDATE EFT ALERT STATUS*/ UPDATE [EFTDetails] SET [EFTYN]='Y' END SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_GetSupplierLedgerDetails', N'P') IS NOT NULL BEGIN DROP PROCEDURE [dbo].[KAAS_GetSupplierLedgerDetails] END GO CREATE PROCEDURE [dbo].[KAAS_GetSupplierLedgerDetails] (@Code VARCHAR(10)='', @Flag VARCHAR(15)='') AS /******************************************************************************************************* * Fetches the Supplier Ledger details * * * * Stored Procedure Name : [dbo].[KAAS_GetSupplierLedgerDetails] 'brady', 'SUPPLIERLEDGER' * * * * Modification History: * * 2021-06-30 Natarajan S Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON /*Supplier LIST*/ IF(@Flag='SUPPLIERLIST') BEGIN SELECT [Code], [Name] FROM [dbo].[Suppliers] ORDER BY [Code] END /*GRID DETAILS FROM SUPPLIER LEDGER*/ IF(@Flag='SUPPLIERLEDGER') BEGIN SELECT [Type] AS [Type], [Pref] AS [Pref], [Date] AS [Date], [RecordId] AS [RecordId], [Ref] AS [Ref], [Narr] AS [Narrative], [Matter] AS [Matter], [Supp] AS [Supp], [Original] AS [Original], [OsValue] AS [OsValue], [BatchNo] AS [BatchNo] FROM [dbo].[SupplierLedger] [SLD] WHERE [Supp]=@Code ORDER BY [Supp] END END SET NOCOUNT OFF GO IF OBJECT_ID(N'KAAS_GetThirdPartyLedgerDetails', N'P') IS NOT NULL BEGIN DROP PROCEDURE [dbo].[KAAS_GetThirdPartyLedgerDetails] END GO CREATE PROCEDURE [dbo].[KAAS_GetThirdPartyLedgerDetails] ( @SuppCode VARCHAR(10)='', @Year INT ) AS /******************************************************************************************************* * Fetches the Third party ledger details * * * * Stored Procedure Name : [dbo].[KAAS_GetThirdPartyLedgerDetails] * * SAMPLE DATA [KAAS_GetThirdPartyLedgerDetails] 'BRADY','2018' * * * Modification History: * * 2021-07-02 Natarajan S Created * *******************************************************************************************************/ BEGIN SELECT [BAT].[BatchNo], [BAT].[Type], [BAT].[Code], [BAT].[Pref], [BAT].[Ref], [BAT].[Date], [BAT].[Matter], [BAT].[Supp], [BAT].[Narr], [BAT].[Value], [BAT].[Posted], [BAT].[PerNo], [BAT].[Year], [BAT].[EntryDate], [BAT].[RecNo], [BAT].[ChequeReqNo], [SUP].[TaxNo], [SUP].[ServiceCode] FROM [dbo].[BatchH] [BAT] INNER JOIN [dbo].[Suppliers] [SUP] ON [BAT].[Supp] = [SUP].[Code] WHERE [BAT].[Supp] = @SuppCode AND [BAT].[Year] = @Year AND [BAT].[ThirdParty] = 'Y' AND [BAT].[Type] = 'P' AND [BAT].[Posted] = 'Y' ORDER BY [BAT].[Supp] ASC END GO IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[KAAS_GetVATCodes]') AND type in (N'P', N'PC')) BEGIN DROP PROCEDURE [dbo].[KAAS_GetVATCodes] END GO CREATE PROCEDURE [dbo].[KAAS_GetVATCodes] AS /******************************************************************************************************* * Fetches the list of VAT codes * * * * Stored Procedure Name : [dbo].[KAAS_GetVATCodes] * * * * Modification History: * * 2021-03-23 Revathy D Created * *******************************************************************************************************/ BEGIN SELECT VAC.[CODE] AS Vat, VAC.[RATE] AS Rate FROM [dbo].[VATCodes] VAC ORDER BY VAC.[CODE] ASC END GO IF EXISTS(SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_GetWorkTypeGroupDropdownList' AND SO.[type] = 'P' ) BEGIN DROP PROCEDURE [dbo].[KAAS_GetWorkTypeGroupDropdownList] END GO CREATE PROCEDURE [dbo].[KAAS_GetWorkTypeGroupDropdownList] AS /******************************************************************************************************* * Fetches dropdown list values for worktype group * * * * Stored Procedure Name : [dbo].[KAAS_GetWorkTypeGroupDropdownList] * * * * Modification History: * * 09 Aug 2021 Natarajan S Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON SELECT [Code], [Description] FROM [dbo].[WorkTypes] WHERE [Retired]='N' SELECT RIGHT(100+[WorkGroup],2) AS [WorkGroup], [GroupOrder], [Description] FROM [WorkGroup1] SELECT [WorkGroup2] AS [WorkGroup2], [description2] AS [Description] FROM [dbo].[WorkGroup2] SET NOCOUNT OFF END GO IF EXISTS(SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_GetWorkTypeGroupList' AND SO.[type] = 'P' ) BEGIN DROP PROCEDURE [dbo].[KAAS_GetWorkTypeGroupList] END GO CREATE PROCEDURE [dbo].[KAAS_GetWorkTypeGroupList] ( @GroupType VARCHAR(30)) AS /******************************************************************************************************* * Fetches the work group type * * * * Stored Procedure Name : [dbo].[KAAS_GetWorkTypeGroupList] 'typeOfWork1' * * * * Modification History: * * 05 Aug 2021 Natarajan S Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON IF(@GroupType = 'typeOfWorkGroup') BEGIN SELECT [WTG].[RecordID] AS [RecordID], [WTG].[WorkType] AS [WorkType], [WTS].[Desc] AS [WorkTypeDescription], RIGHT(100 + [WTG].[Group1],2) AS [Group1], [WG1].[Description] AS [G1Description], [WTG].[Group2] AS [Group2], [WG2].[Description2] AS [G2Description] FROM [dbo].[WorkTypeGroupings] [WTG] LEFT JOIN [dbo].[WorkGroup2] [WG2] ON [WTG].[Group2] = [WG2].[WorkGroup2] LEFT JOIN [dbo].[WorkGroup1] [WG1] ON [WTG].[Group1] = [WG1].[WorkGroup] LEFT JOIN [dbo].[WorkTypes] [WTS] ON [WTG].[WorkType] = [WTS].[Code] END IF(@GroupType = 'typeOfWork1') BEGIN SELECT [WorkGroup] [Group], [GroupOrder] [GroupOrder], [Description] [Description] FROM [dbo].[WorkGroup1] END IF(@GroupType = 'typeOfWork2') BEGIN SELECT [WorkGroup2] [Group], [Description2] [Description] FROM [dbo].[WorkGroup2] END SET NOCOUNT OFF END GO IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[KAAS_GetWorkTypes]') AND type in (N'P', N'PC')) BEGIN DROP PROCEDURE [dbo].[KAAS_GetWorkTypes] END GO /****** Object: StoredProcedure [dbo].[KAAS_GetWorkTypes] Script Date: 11-06-2021 17:46:11 ******/ CREATE PROCEDURE [dbo].[KAAS_GetWorkTypes] ( @Code varchar(20) ) AS /******************************************************************************************************* * Fetches Work Types Masters * * * * Stored Procedure Name : [dbo].[KAAS_GetWorkTypes] 'ACC' * * * * Modification History: * * 11 June 2021 Natarajan S Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON IF(@Code <> '0') BEGIN SELECT [Code] AS [Code], [Description] AS [Description], [Retired] AS [Retired] FROM [dbo].[WorkTypes] WHERE CODE = @Code END ELSE BEGIN SELECT [Code] AS [Code], [Description] AS [Description], [Retired] AS [Retired] FROM [dbo].[WorkTypes] END SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_Get_ReportId', N'P') IS NOT NULL BEGIN DROP PROCEDURE [dbo].[KAAS_Get_ReportId] END GO CREATE PROCEDURE [dbo].[KAAS_Get_ReportId] ( @FileName VARCHAR(500) ) AS /******************************************************************************************************* * This SP used to Fetch report Id * * * * Stored Procedure Name : [dbo].[KAAS_Get_ReportId] * * * * Modification History: * * 16 July 2021 Revathy D Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON SELECT [CRR].[Reportid] As [ReportId], [CRR].[filename] As [FileName] FROM [dbo].[CRReport] CRR WHERE [CRR].[filename] = @FileName SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_InsertContactCategory', N'P') IS NOT NULL BEGIN DROP PROCEDURE [dbo].[KAAS_InsertContactCategory] END GO CREATE PROCEDURE [dbo].[KAAS_InsertContactCategory] ( @CatType VARCHAR(6) = '', @Code VARCHAR(10) = '', @Description VARCHAR(30) = '', @Prompt1 VARCHAR(20) = '', @Prompt2 VARCHAR(20) = '', @Prompt3 VARCHAR(20) = '', @Prompt4 VARCHAR(20) = '', @Prompt5 VARCHAR(20) = '', @Prompt6 VARCHAR(20) = '', @Prompt7 VARCHAR(20) = '', @Prompt8 VARCHAR(20) = '', @Prompt9 VARCHAR(20) = '', @Prompt10 VARCHAR(20) = '', @Mode VARCHAR(20) = 'INSERTEDIT' ) /******************************************************************************************************* * * * Stored Procedure Name : [dbo].[KAAS_InsertContactCategory] * * Copied from : NA * * * * Modification History : * * 2021-06-14 Balamurugan C Created * *******************************************************************************************************/ AS BEGIN SET NOCOUNT ON IF( @Mode = 'INSERTEDIT' ) BEGIN IF EXISTS ( SELECT TOP 1 1 FROM [dbo].[Category] WHERE [Code] = @Code AND [CatType] = @CatType ) BEGIN UPDATE [dbo].[Category] SET [Desc$] = @Description, [Prompt1] = @Prompt1, [Prompt2] = @Prompt2, [Prompt3] = @Prompt3, [Prompt4] = @Prompt4, [Prompt5] = @Prompt5, [Prompt6] = @Prompt6, [Prompt7] = @Prompt7, [Prompt8] = @Prompt8, [Prompt9] = @Prompt9, [Prompt10] = @Prompt10 WHERE [Code] = @Code AND [CatType] = @CatType END ELSE BEGIN INSERT INTO [dbo].[Category] ( [Code], [CatType], [Desc$], [Prompt1], [Prompt2], [Prompt3], [Prompt4], [Prompt5], [Prompt6], [Prompt7], [Prompt8], [Prompt9], [Prompt10] ) VALUES ( @Code, @CatType, @Description, @Prompt1, @Prompt2, @Prompt3, @Prompt4, @Prompt5, @Prompt6, @Prompt7, @Prompt8, @Prompt9, @Prompt10 ) END END ELSE BEGIN DELETE FROM [dbo].[Category] WHERE [Code] = @Code AND [CatType] = @CatType END SET NOCOUNT OFF END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_InsertDebtorsLedgerAllocation' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_InsertDebtorsLedgerAllocation] END GO CREATE PROCEDURE [dbo].[KAAS_InsertDebtorsLedgerAllocation] (@DebtorsBatchNo INT, @InvoiceBatchNo INT, @Value FLOAT, @Fees FLOAT, @Outlay FLOAT, @Vat FLOAT, @Date DATETIME, @UserCode VARCHAR(30), @Result TINYINT OUTPUT) AS /******************************************************************************************************* * * *Used to Insert supplier ledger allocation * * Stored Procedure Name: [dbo].[KAAS_InsertDebtorsLedgerAllocation] * * Modification History: * * 2021-07-09 Natarajan S Created * * 2021-07-12 Natarajan S Modified Allocation ID from control table. ********************************************************************************************************/ BEGIN TRY BEGIN TRANSACTION DECLARE @AllNo INT SET @AllNo = (SELECT [LastAlloc]+1 FROM [dbo].[control]) UPDATE [CRL] SET [CRL].[LastAlloc] = @AllNo FROM [dbo].[control] [CRL] INSERT INTO [dbo].[Allocations] ([BatchNo], [PRef], [Date], [ABatchNo], [OPRef], [ORef], [Value], [Fees], [Outlay], [Vat], [UserCode], [AllNo], [VatCode]) SELECT [INV].[BatchNo], [INV].[PRef], @Date, [DEB].[BatchNo], [DEB].[PRef], [DEB].[Ref], @Value, @Fees, @Outlay, @Vat, @UserCode, @AllNo, [DEB].[VATCODE] FROM [dbo].[DebtorsLedger] [INV], [dbo].[DebtorsLedger] [DEB] WHERE [INV].[BatchNo]=@InvoiceBatchNo AND [DEB].[BatchNo]=@DebtorsBatchNo INSERT INTO [dbo].[Allocations] ([BatchNo], [PRef], [Date], [ABatchNo], [OPRef], [ORef], [Value], [Fees], [Outlay], [Vat], [UserCode], [AllNo], [VatCode]) SELECT [INV].[BatchNo], [INV].[PRef], @Date, [DEB].[BatchNo], [DEB].[PRef], [DEB].[Ref], @Value, @Fees, @Outlay, @Vat, @UserCode, @AllNo, [DEB].[VatCode] FROM [dbo].[DebtorsLedger] [INV], [dbo].[DebtorsLedger] [DEB] WHERE [INV].[BatchNo]=@DebtorsBatchNo AND [DEB].[BatchNo]=@InvoiceBatchNo UPDATE [INV] SET [INV].[OSValue] = [INV].[OSValue] + @Value, [INV].[OSFees] = [INV].[OSFees] + @Fees, [INV].[OSOUTLAY] = [INV].[OSOutlay] + @Outlay, [INV].[OSVAT] = [INV].[OSVat] + @Vat FROM [dbo].[DebtorsLedger] [INV] WHERE [INV].[BatchNo] = @InvoiceBatchNo UPDATE [INV] SET [INV].[OSValue] = [INV].[OSValue] - @Value, [INV].[OSFees] = [INV].[OSFees] - @Fees, [INV].[OSOUTLAY] = [INV].[OSOutlay] - @Outlay, [INV].[OSVAT] = [INV].[OSVat] - @Vat FROM [dbo].[DebtorsLedger] [INV] WHERE [INV].[BatchNo] = @DebtorsBatchNo SET @Result =1 COMMIT TRANSACTION END TRY BEGIN CATCH SET @Result =0 ROLLBACK TRANSACTION END CATCH GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_InsertDeleteNominalLedgerComments' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_InsertDeleteNominalLedgerComments] END GO CREATE PROCEDURE [dbo].[KAAS_InsertDeleteNominalLedgerComments] ( @Date DATETIME = NULL, @Narr VARCHAR(100) = '', @Code VARCHAR(10) = '', @Ref VARCHAR(10) = '', @Year INT = 0, @RecordId INT = 0, @Mode VARCHAR(20) = 'INSERT' ) /******************************************************************************************************* * * * Stored Procedure Name : [dbo].[KAAS_InsertDeleteNominalLedgerComments] * * Copied from : NA * * * * Modification History : * * 2021-07-28 Balamurugan C Created * *******************************************************************************************************/ AS BEGIN SET NOCOUNT ON IF( @Mode = 'INSERT' ) BEGIN INSERT INTO [dbo].[NominalLedger] ( [Code], [BatchNo], [Pref], [Date], [Narr], [Ref], [Value], [CurrencyValue], [Year], [EntryDate] ) VALUES ( @Code, 0, 0, @Date, @Narr, @Ref, 0.00, 0.00, @Year, CAST(GETDATE() AS DATE) ) END ELSE BEGIN DELETE FROM [dbo].[NominalLedger] WHERE [RecordID] = @RecordId END SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_InsertDeleteSuppliersDetails', N'P') IS NOT NULL BEGIN DROP PROCEDURE [dbo].[KAAS_InsertDeleteSuppliersDetails] END GO /****** Object: StoredProcedure [dbo].[KAAS_InsertDeleteSuppliersDetails] Script Date: 6/17/2021 6:19:33 PM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[KAAS_InsertDeleteSuppliersDetails] ( @Code VARCHAR(10)='', @Name VARCHAR(40)='', @Address VARCHAR(500)='', @Phone VARCHAR(50)='', @EmailAddress VARCHAR(100)='', @TaxNo VARCHAR(15)='', @ServiceCode VARCHAR(6)='', @VATNo VARCHAR(20)='', @DeftpStatus VARCHAR(1)='', @BankName VARCHAR(60)='', @BankAddress VARCHAR(120)='', @BankSortCode VARCHAR(20)='', @BankAccNo VARCHAR(20)='', @Iban VARCHAR(34)='', @Bic VARCHAR(20)='', @BankType VARCHAR(1)='', @EFTEmailAddress VARCHAR(150)='', @Retired VARCHAR(1)='', @Mode VARCHAR(20)='INSERTEDIT' ) /******************************************************************************************************* * * * Stored Procedure Name : [dbo].[KAAS_InsertDeleteSuppliersDetails] * * Copied from : NA * * * * Modification History : * * 2021-06-16 Balamurugan C Created * *******************************************************************************************************/ AS BEGIN IF( @Mode = 'INSERTEDIT' ) BEGIN IF EXISTS (SELECT TOP 1 * FROM dbo.[Suppliers] WHERE [code] = @Code) BEGIN UPDATE dbo.[Suppliers] SET [Code] = @Code, [Name] = @Name, [Address] = @Address, [Phone] = @Phone, [EmailAddress] = @EmailAddress, [TaxNo] = @TaxNo, [ServiceCode] = @ServiceCode, [VATNo] = @VATNo, [DeftpStatus] = @DeftpStatus, [BankName] = @BankName, [BankAddress] = @BankAddress, [BankSortCode] = @BankSortCode, [BankAccNo] = @BankAccNo, [Iban] = @Iban, [Bic] = @Bic, [BankType] = @BankType, [EFTEmailAddress] = @EFTEmailAddress, [Retired] = @Retired WHERE [Code] = @Code END ELSE BEGIN INSERT INTO dbo.[Suppliers] ( [Code], [Name], [Address], [Phone], [EmailAddress], [TaxNo], [ServiceCode], [VATNo], [DeftpStatus], [BankName], [BankAddress], [BankSortCode], [BankAccNo], [Iban], [Bic], [BankType], [EFTEmailAddress], [Retired] ) VALUES ( @Code, @Name, @Address, @Phone, @EmailAddress, @TaxNo, @ServiceCode, @VATNo, @DeftpStatus, @BankName, @BankAddress, @BankSortCode, @BankAccNo, @Iban, @Bic, @BankType, @EFTEmailAddress, @Retired ) END END ELSE BEGIN DELETE FROM dbo.[Suppliers] WHERE [Code] = @Code END END GO IF OBJECT_ID(N'KAAS_InsertSAMAccruals', N'P') IS NOT NULL BEGIN DROP PROCEDURE [dbo].[KAAS_InsertSAMAccruals] END GO CREATE PROCEDURE [dbo].[KAAS_InsertSAMAccruals] ( @NominalAc VARCHAR(10), @AccrualAc VARCHAR(10), @Description VARCHAR(40), @Value DECIMAL, @ValueYTD DECIMAL, @RecordId INT ) AS /******************************************************************************************************* * [dbo].[KAAS_InsertSAMAccruals] * * Description: Used to post accrual details * * Modification History: * * 2021-08-04 Revathy D Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON IF ISNULL(@RecordId, 0) = 0 BEGIN INSERT INTO [dbo].[Accruals] ( [NOMINALFROM], [NOMINALTO], [DESCRIPTION], [VALUE], [VALUEYTD]) SELECT @NominalAc, @AccrualAc, @Description, @Value, @ValueYTD END ELSE BEGIN UPDATE [dbo].[Accruals] SET [NOMINALFROM] = @NominalAc, [NOMINALTO] = @AccrualAc, [DESCRIPTION] = @Description, [VALUE] = @Value, [VALUEYTD] = @ValueYTD WHERE [RECORDID] = @RecordId END SET NOCOUNT OFF END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_INSERTSAMDiaryDetails' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_INSERTSAMDiaryDetails] END go CREATE PROCEDURE [dbo].[KAAS_INSERTSAMDiaryDetails] ( @MatterCode VARCHAR(20), @Priority varchar(5), @Highlighted varchar(20), @Publisher varchar(20), @Status int, @ActionCode varchar(20), @ActionStatus varchar(20), @ActionType varchar(20), @ProcessType varchar(20), @FNCode varchar(20), @TeamCode varchar(20), @Text1 varchar(max), @Date datetime, @diaryWarningDate datetime, @Handler VARCHAR(10), @Result INT OUTPUT ) AS /******************************************************************************************************* * * *Used to list the matter ledger * * Stored Procedure Name: [dbo].[KAAS_INSERTSAMDiaryDetails] '000001/0000','H','','N',0,'ADMUD','NA','U','I','ADM','COM','UNDERTAKING EXAMPLE',0 * * Modification History: * * 2021-03-26 Natarajan S Created * *******************************************************************************************************/ BEGIN DECLARE @TIMECONVERT INT SET @TIMECONVERT = [dbo].ky_ConvertTimeToClarion(GETDATE()) DECLARE @IdentityValue int EXEC @IdentityValue = [dbo].[KAAS_GetNextActionID] INSERT INTO dbo.diary ([ActionID], [CASECODE], [PRIORITY], [HIGHLIGHTED], [PUBLISH], [DATE], [STATUS], [ACTIONCODE], [ACTIONSTATUS], [ACTIONTYPE], [PROCESSTYPE], [FNCODE], [TEAMCODE], [TEXT1], [TEXT2], [DELEGATEDFNR], [DELEGATEDDATE], [DELEGATEDBACKDATE], [DEFERRED], [DUEDATE], [IMAGENO], [DYSTARTTIME], [DYENDTIME], [DURATION], [ORGINALACTIONID], [MILESTEONETYPE], [ATTACHMENTS], [PROCESSSTATUS], [WORKPROCESS], [BILLABLE], [BILLDESCRIPTION], [EMAILADDRESS], [EMAIL], [SUBJECT], [DELEGATIONSTATUS], [DRAFTBILLNO], [CHEQUEREQNO], [TXMSENT], [LOCATION], [HEARINGTYPE], [FORCOPY], [TXMDATE], [TXMSEQNO], [DISPLAYTEXT], [FLAG], [ADDRESSTO], [CCTO], [BCCTO], [CLIENTCONTACTID], [CONTACTCATEGORY], [CAMPAIGN], [FILENUM], [CASEASSOCIATE]) VALUES( @IdentityValue, @MatterCode, @Priority, @Highlighted, @Publisher, [dbo].KAAS_FNConvertDateToUTC(@diaryWarningDate,@Handler), @Status, @ActionCode, @ActionStatus, @ActionType, @ProcessType, @FNCode, @TEAMCODE, @TEXT1, NULL, NULL, NULL, NULL, NULL, [dbo].KAAS_FNConvertDateToUTC(@Date,@Handler), 0, @TIMECONVERT, @TIMECONVERT, NULL, @IdentityValue, 'JP', 'N', 0, NULL, 0, '', NULL, NULL, '', 0, 0, NULL, 0, NULL, NULL, NULL, NULL, NULL, @TEXT1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL) INSERT INTO [dbo].[DiaryDelegations] ([ACTIONID], [HANDLER], [TEAM], [DATE], [TIME], [DATER], [TIMER], [DUEDATE], [DUETIME], [REVIEW], [STATUS], [OWNER], [DELEGATE], [DELEGATESTATUS], [ACTIONTYPE], [FROMHANDLER], [RETURNEDBY], [DELTYPE]) VALUES (@IdentityValue, @FNCode, @TeamCode, CONVERT(DATETIME, @diaryWarningDate ,112), @TIMECONVERT, NULL, '', CONVERT(DATETIME, @Date ,112), @TIMECONVERT, ' ', 0, 'Y', 'JP', 0, 'U', 'JP', '', 'Created') SET @Result = @IdentityValue END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_INSERTSAMMatterLedgerComment' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_INSERTSAMMatterLedgerComment] END go CREATE PROCEDURE [dbo].[KAAS_INSERTSAMMatterLedgerComment] (@MatterCode VARCHAR(20), @Narrative VARCHAR(MAX), @ClientMin FLOAT, @Date DATETIME, @Result TINYINT OUTPUT) AS /******************************************************************************************************* * * *Used to list the matter ledger * * Stored Procedure Name: [dbo].[KAAS_INSERTSAMMatterLedgerComment] * * Modification History: * * 2021-03-26 Natarajan S Created * * 2021-07-08 Natarajan S Modified - Formatting Added. * ********************************************************************************************************/ BEGIN INSERT INTO [dbo].[MatterLedger] ([Matter], [BatchNo], [PRef], [Date], [Ref], [Narr], [ValueD], [ValueO], [ValueC], [Fee], [Per], [Year], [EntryDate], [Client], [ValueCC], [ValueCD], [DepositType], [CurValueD], [CurValueO], [CurValueC], [CurValueCC], [CurValueCD], [Billed], [BillingYear], [BillingPeriod], [BillingDate], [BilledOutlayValue], [InvoiceNo], [IncludeInBill]) VALUES (@MatterCode, 0, 0, @Date, 'admin', @Narrative, 0.00, 0.00, 0.00, '', 0, 0, GETDATE(), '', 0.00, 0.00, '', 0.00, 0.00, 0.00, 0.00, 0.00, '', 0, 0, NULL, 0.00, 0, 0) SET @Result = 1 UPDATE [OMO] SET [OMO].[ClientMin]=@ClientMin FROM [dbo].[OpenMattersOnly] [OMO] WHERE [OMO].[Code] = @MatterCode END GO IF EXISTS(SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_INSERTSAMUndertakingDetails' AND SO.[type] = 'P' ) BEGIN DROP PROCEDURE [dbo].[KAAS_INSERTSAMUndertakingDetails] END GO CREATE PROCEDURE [dbo].[KAAS_INSERTSAMUndertakingDetails] ( @MatterCode VARCHAR(20), @Seq INT, @Type VARCHAR(10), @Details VARCHAR(MAX), @Who VARCHAR(MAX), @ActionID INT, @GivenOrReceived VARCHAR(10), @DealingNumber VARCHAR(10), @Notes VARCHAR(MAX), @CommercialOrNonCommerical VARCHAR(10), @Status VARCHAR(50), @Value DECIMAL, @AuthorizedByFE VARCHAR(10), @UndertakingTo VARCHAR(10), @Date DATETIME, @Handler VARCHAR(10), @AddCommentLedger BIT, @Result TINYINT OUTPUT ) AS /******************************************************************************************************************************************************** *Used to list the matter ledger * * Stored Procedure Name: [dbo].[KAAS_INSERTSAMUndertakingDetails] * * Modification History: * * 26 MAR 2021 Natarajan S Created * * 13 JUL 2021 Natarajan S Created * * 03 DEC 2021 Vinodhkumar M Modified - Added add comment Ledger field * ********************************************************************************************************************************************************/ BEGIN TRY BEGIN TRANSACTION DECLARE @CurrentDate DATETIME SET @CurrentDate = GETDATE() SET @Type = SUBSTRING(@Type, 1, 1) SET @GivenOrReceived = SUBSTRING(@GivenOrReceived, 1, 1) SET @CommercialOrNonCommerical = SUBSTRING(@CommercialOrNonCommerical, 1, 1) INSERT INTO [dbo].[Undertakings] ([MATTER], [SEQ], [DISCHARGEDATE], [TYPE], [DESCRIPTION], [WHO], [ACTIONID], [GIVENORRECEIVED], [NOTIFIED], [DISCHARGEDESCRIPTION], [DISCHARGEDBY], [DEALINGNUMBER], [NOTES], [COMMERCIALORNON], [STATUS], [DATE], [UNDDATE], [VALUE], [UNDVALUE], [AUTHORISEDBYFE], [HANDLER], [UNDERTAKINGTO], [CASECONTACT], [CATEGORY], [ISCONDITIONAL], [CONDITION], [NEEDSATTENTION], [AddCommentLedger]) VALUES (@MatterCode, @Seq, NULL, @Type, @Details, @Who, @ActionID, @GivenOrReceived, ' ', '', '', @DealingNumber, @Notes, @CommercialOrNonCommerical, @Status, [dbo].KAAS_FNConvertDateToUTC(@Date,@Handler), [dbo].KAAS_FNConvertDateToUTC(@Date,@Handler), @Value, @Value, @AuthorizedByFE, @AuthorizedByFE, @UndertakingTo, @UndertakingTo, '', 0, '', 0, @AddCommentLedger) SET @Result = 1 COMMIT TRANSACTION END TRY BEGIN CATCH SET @Result = 0 ROLLBACK TRANSACTION END CATCH GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_InsertSupplierLedgerAllocation' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_InsertSupplierLedgerAllocation] END go CREATE PROCEDURE [dbo].[KAAS_InsertSupplierLedgerAllocation] (@BillBatchNo INT, @PayBatchNo INT, @Value FLOAT, @Date DATETIME, @UserCode VARCHAR(30), @Result TINYINT OUTPUT) AS /******************************************************************************************************* * * *Used to Insert supplier ledger allocation * * Stored Procedure Name: [dbo].[KAAS_InsertSupplierLedgerAllocation] * * Modification History: * * 2021-07-09 Natarajan S Created * * 2021-07-12 Natarajan S Modified Allocation ID from control table. ********************************************************************************************************/ BEGIN TRY BEGIN TRANSACTION DECLARE @AllNo INT SET @AllNo = (SELECT [LastAlloc]+1 FROM [dbo].[control]) UPDATE [CRL] SET [CRL].[LastAlloc] = @AllNo FROM [dbo].[control] [CRL] INSERT INTO [dbo].[Allocations] ([BatchNo], [PRef], [Date], [ABatchNo], [OPRef], [ORef], [Value], [Fees], [Vat], [UserCode], [AllNo], [VatCode]) SELECT [BIL].[BatchNo], [BIL].[PRef], @Date, [PAY].[BatchNo], [PAY].[PRef], [PAY].[Ref], @Value, 0.00, 0.00, @UserCode, @AllNo, '' FROM [dbo].[SupplierLedger] [BIL], [dbo].[SupplierLedger] [PAY] WHERE [BIL].[BatchNo]=@BillBatchNo AND [PAY].[BatchNo]=@PayBatchNo INSERT INTO [dbo].[Allocations] ([BatchNo], [PRef], [Date], [ABatchNo], [OPRef], [ORef], [Value], [Fees], [Vat], [UserCode], [AllNo], [VatCode]) SELECT [BIL].[BatchNo], [BIL].[PRef], @Date, [PAY].[BatchNo], [PAY].[PRef], [PAY].[Ref], @Value, 0.00, 0.00, @UserCode, @AllNo, '' FROM [dbo].[SupplierLedger] [BIL], [dbo].[SupplierLedger] [PAY] WHERE [BIL].[BatchNo]=@PayBatchNo AND [PAY].[BatchNo]=@BillBatchNo UPDATE [BIL] SET [BIL].[OSValue] = [BIL].[OSValue] + @Value FROM [dbo].[SupplierLedger] [BIL] WHERE [BIL].[BatchNo] = @BillBatchNo UPDATE [BIL] SET [BIL].[OSValue] = [BIL].[OSValue] - @Value FROM [dbo].[SupplierLedger] [BIL] WHERE [BIL].[BatchNo] = @PayBatchNo SET @Result =1 COMMIT TRANSACTION END TRY BEGIN CATCH SET @Result =0 ROLLBACK TRANSACTION END CATCH GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_InsertSupplierLedgerComment' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_InsertSupplierLedgerComment] END go CREATE PROCEDURE [dbo].[KAAS_InsertSupplierLedgerComment] (@Supp VARCHAR(20), @User VARCHAR(50), @Comments VARCHAR(MAX), @Date DATETIME, @Result TINYINT OUTPUT) AS /******************************************************************************************************* * Used to insert supplier ledger comment * * Stored Procedure Name: [dbo].[KAAS_InsertSupplierLedgerComment] * * Modification History: * * 2021-07-07 Natarajan S Created * * 2021-07-08 Natarajan S Modified - Formatting Added. * *******************************************************************************************************/ BEGIN SET NOCOUNT ON INSERT INTO [dbo].[SupplierLedger] ([Supp], [Type], [Date], [Ref], [BatchNo], [Pref], [Narr], [Original], [OSValue], [Year], [Per], [EntryDate], [ThirdParty], [ThirdPartyValue], [Matter], [PendingOutlay]) VALUES (@Supp, ' ', @Date, @User, 0, 0, @Comments, 0.00, 0.00, 0, 0, @Date, 'N', 0.00, '', 0.00) SET @Result=1 SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_InsertUpdateFeeEarnerCodesDetails', N'P') IS NOT NULL BEGIN DROP PROCEDURE [dbo].[KAAS_InsertUpdateFeeEarnerCodesDetails] END GO CREATE PROCEDURE [dbo].[KAAS_InsertUpdateFeeEarnerCodesDetails] ( @Code VARCHAR(10) = '', @Name VARCHAR(40) = '', @Nominal VARCHAR(10) = '', @Retired VARCHAR(1) = '', @Mode VARCHAR(20) = 'INSERTEDIT' ) /******************************************************************************************************* * * * Stored Procedure Name : [dbo].[KAAS_InsertUpdateFeeEarnerCodesDetails] * * Copied from : NA * * * * Modification History : * * 2021-06-23 Balamurugan C Created * *******************************************************************************************************/ AS BEGIN SET NOCOUNT ON IF( @Mode = 'INSERTEDIT' ) BEGIN IF EXISTS ( SELECT TOP 1 1 FROM [dbo].[FeeEarnerCodes] WHERE [Code] = @Code ) BEGIN UPDATE [dbo].[FeeEarnerCodes] SET [Name] = @Name, [Nominal] = @Nominal, [Retired] = @Retired WHERE [Code] = @Code END ELSE BEGIN INSERT INTO [dbo].[FeeEarnerCodes] ( [Code], [Name], [Nominal], [Retired] ) VALUES ( @Code, @Name, @Nominal, @Retired ) END END ELSE BEGIN DELETE FROM [dbo].[FeeEarnerCodes] WHERE [Code] = @Code END SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_InsertUpdateNominalReportingSeq', N'P') IS NOT NULL BEGIN DROP PROCEDURE [dbo].[KAAS_InsertUpdateNominalReportingSeq] END GO CREATE PROCEDURE [dbo].[KAAS_InsertUpdateNominalReportingSeq] ( @Code VARCHAR(4)='', @Desc VARCHAR(40)='', @Pb VARCHAR(1)='', @Mode VARCHAR(20)='INSERTEDIT' ) /******************************************************************************************************* * * * Stored Procedure Name : [dbo].[KAAS_InsertUpdateNominalReportingSeq] * * Copied from : NA * * * * Modification History : * * 2021-06-18 Balamurugan C Created * *******************************************************************************************************/ AS BEGIN IF( @Mode = 'INSERTEDIT' ) BEGIN IF EXISTS (SELECT TOP 1 1 FROM [dbo].[NominalReportSeq] WHERE [Code] = @Code) BEGIN UPDATE [dbo].[NominalReportSeq] SET [DESC] = @Desc, [PB] = @Pb WHERE [CODE] = @Code END ELSE BEGIN INSERT INTO [dbo].[NominalReportSeq] ( [CODE], [DESC], [PB] ) VALUES ( @Code, @Desc, @Pb ) END END ELSE BEGIN DELETE FROM [dbo].[NominalReportSeq] WHERE [CODE] = @Code END END GO IF OBJECT_ID(N'KAAS_InsertUpdatePaymentMethods', N'P') IS NOT NULL BEGIN DROP PROCEDURE [dbo].[KAAS_InsertUpdatePaymentMethods] END GO CREATE PROCEDURE [dbo].[KAAS_InsertUpdatePaymentMethods] ( @Id INT = 0, @Description VARCHAR(500) = '', @ClearDays INT = 0, @Retired TINYINT = 0, @Mode VARCHAR(20) = 'INSERTEDIT' ) /******************************************************************************************************* * Stored Procedure Name : [dbo].[KAAS_InsertUpdatePaymentMethods] * * Copied from : NA * * * * Modification History : * * 2021-06-22 Balamurugan C Created * *******************************************************************************************************/ AS BEGIN SET NOCOUNT ON IF( @Mode = 'INSERTEDIT' ) BEGIN IF EXISTS ( SELECT TOP 1 1 FROM [dbo].[PaymentMethods] WHERE [id] = @Id ) BEGIN UPDATE [dbo].[PaymentMethods] SET [Description] = @Description, [ClearDays] = @ClearDays, [Retired] = @Retired WHERE [id] = @Id END ELSE BEGIN INSERT INTO [dbo].[PaymentMethods] ( [Description], [ClearDays], [Retired] ) VALUES ( @Description, @ClearDays, @Retired ) END END ELSE BEGIN DELETE FROM [dbo].[PaymentMethods] WHERE [id] = @Id END SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_InsertUpdateVATCodes', N'P') IS NOT NULL BEGIN DROP PROCEDURE [dbo].[KAAS_InsertUpdateVATCodes] END GO CREATE PROCEDURE [dbo].[KAAS_InsertUpdateVATCodes] ( @Code VARCHAR(1) = '', @Rate DECIMAL(5,2) = 0, @Mode VARCHAR(20) = 'INSERTEDIT' ) /******************************************************************************************************* * Stored Procedure Name : [dbo].[KAAS_InsertUpdateVATCodes] * * Copied from : NA * * * * Modification History : * * 2021-06-21 Balamurugan C Created * *******************************************************************************************************/ AS BEGIN SET NOCOUNT ON IF( @Mode = 'INSERTEDIT' ) BEGIN IF EXISTS ( SELECT TOP 1 1 FROM [dbo].[VATCodes] WHERE [Code] = @Code ) BEGIN UPDATE [dbo].[VATCodes] SET [Rate] = @Rate WHERE [Code] = @Code END ELSE BEGIN INSERT INTO [dbo].[VATCodes] ( [Code], [Rate] ) VALUES ( @Code, @Rate ) END END ELSE BEGIN DELETE FROM [dbo].[VATCodes] WHERE [Code] = @Code END SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_InsertUpdateWorkGroup', N'P') IS NOT NULL BEGIN DROP PROCEDURE [dbo].[KAAS_InsertUpdateWorkGroup] END GO CREATE PROCEDURE [dbo].[KAAS_InsertUpdateWorkGroup] ( @RecordID INT, @WorkType VARCHAR(50), @Group1 VARCHAR(10), @Group2 VARCHAR(10), @Result INT OUTPUT ) /******************************************************************************************************* * Stored Procedure Name : [dbo].[KAAS_InsertUpdateWorkGroup] * * * * * Modification History : * * 2021-08-10 Natarajan S Created * *******************************************************************************************************/ AS BEGIN SET NOCOUNT ON IF(@RecordID = 0) BEGIN INSERT INTO [dbo].[WorkTypeGroupings] ( [WorkType], [Group1], [Group2]) VALUES (@WorkType, @Group1, @Group2 ) SET @Result = 1; END ELSE BEGIN UPDATE [dbo].[WorkTypeGroupings] SET [WorkType] = @WorkType, [Group1] = @Group1, [Group2] = @Group2 WHERE RecordID = @RecordID SET @Result = 1; END SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_InsertUpdateWorkType', N'P') IS NOT NULL BEGIN DROP PROCEDURE [dbo].[KAAS_InsertUpdateWorkType] END GO CREATE PROCEDURE [dbo].[KAAS_InsertUpdateWorkType] ( @Mode VARCHAR(10), @Type VARCHAR(5), @OldWorkGroup varchar(50), @WorkGroup VARCHAR(50), @GroupOrder VARCHAR(10) NULL, @Description VARCHAR(10), @Result INT OUTPUT ) /******************************************************************************************************* * Stored Procedure Name : [dbo].[KAAS_InsertUpdateWorkType] * * * * * Modification History : * * 2021-08-10 Natarajan S Created * *******************************************************************************************************/ AS BEGIN SET NOCOUNT ON IF(@Type = 'ONE') BEGIN IF(@Mode = 'INSERT') BEGIN IF EXISTS(SELECT WorkGroup FROM WorkGroup1 WHERE WorkGroup=@WorkGroup) BEGIN SET @Result = 0; END ELSE BEGIN INSERT INTO [dbo].[WorkGroup1] ( [WorkGroup], [GroupOrder], [Description]) VALUES (@WorkGroup, @GroupOrder, @Description) SET @Result = 1; END END ELSE BEGIN IF EXISTS(SELECT WorkGroup FROM WorkGroup1 WHERE WorkGroup = @WorkGroup AND WorkGroup <> @OldWorkGroup) BEGIN SET @Result = 0; END ELSE BEGIN UPDATE [dbo].[WorkGroup1] SET [WorkGroup] = @WorkGroup, [GroupOrder] = @GroupOrder, [Description] = @Description WHERE [WorkGroup] = @OldWorkGroup SET @Result = 1; END END END ELSE BEGIN IF(@Mode = 'INSERT') BEGIN IF EXISTS(SELECT WorkGroup2 FROM WorkGroup2) BEGIN SET @Result = 0; END ELSE BEGIN INSERT INTO [dbo].[WorkGroup2] ( [WorkGroup2], [Description2]) VALUES (@WorkGroup, @Description) SET @Result = 1; END END ELSE BEGIN IF EXISTS(SELECT WorkGroup2 FROM WorkGroup2 WHERE WorkGroup2 = @WorkGroup AND WorkGroup2 <> @OldWorkGroup) BEGIN SET @Result = 0; END ELSE BEGIN UPDATE [dbo].[WorkGroup2] SET [WorkGroup2] = @WorkGroup, [Description2] = @Description WHERE [WorkGroup2] = @OldWorkGroup SET @Result = 1; END END END SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_MaintainInsertMaster', N'P') IS NOT NULL BEGIN DROP PROCEDURE [dbo].[KAAS_MaintainInsertMaster] END GO CREATE PROCEDURE [dbo].[KAAS_MaintainInsertMaster] ( @MasterName VARCHAR(50), @Code VARCHAR(100), @Description VARCHAR(MAX), @Retired VARCHAR(2), @Childcare CHAR(1) = '', @RGBColour INT = 0, @DefaultRate FLOAT = 0, @ClientCharge INT = 0, @Value FLOAT = 0, @ClientValue FLOAT = 0, @User VARCHAR(8) = '' , @Mode VARCHAR(10), @NewCodeVal VARCHAR(20) = '', @BackGroundColour VARCHAR(30) = '#FF008000', @Result BIT OUTPUT ) AS /******************************************************************************************************* *This procedure is used to Fetch details FROM the below listed Masters table. * * [dbo].[KAAS_MaintainInsertMaster] 'UndertakingStatus','as','yu','N','',0,0,0,0,0,'','INSERT','yu',0 select * from undertakingstatus * * Stored Procedure Name : [dbo].[KAAS_MaintainInsertMaster] * * Copied from : [dbo].[ky_NETMaintainInsertMaster] * * * * Modification History : * * 2021-06-16 NATARAJAN S Created * * 2021-07-01 Prabhu V Changed Master Name for File Colour as per * Master Name we provided in front end and Added Retired for Update * * 2021-07-02 Prabhu V SP structure changed as per coding standrard in Keyhouse * *******************************************************************************************************/ BEGIN DECLARE @Command VARCHAR(MAX) DECLARE @HandleRate AS FLOAT DECLARE @EventDesc AS VARCHAR(300) SET @HandleRate = 0 SET @EventDesc='' DECLARE @TableVariable table (Code varchar(50)) INSERT INTO @TableVariable EXEC [dbo].[Kaas_fn_checkCodeexists] @Mode, @MasterName, @Code, @NewCodeVal IF EXISTS (SELECT 1 FROM @TableVariable) BEGIN SET @Result =0 END ELSE BEGIN IF (@MasterName='Departments') BEGIN IF ( @Mode = 'INSERT' ) INSERT INTO [dbo].[departments] ([Code], [Description], [Desc], [Retired]) VALUES (@Code, @Description, @Description, @Retired) ELSE UPDATE [dbo].[departments] SET [Code] = @NewCodeVal, [Description] = @Description, [Desc] = @Description, [Retired] = @Retired WHERE [Code] = @Code END ELSE IF (@MasterName='Worktypes') BEGIN IF ( @Mode = 'INSERT' ) INSERT INTO [dbo].[WorkTypes] ([Code], [Description], [Desc], [Retired]) VALUES (@Code, @Description, @Description, @Retired) ELSE UPDATE [dbo].[WorkTypes] SET [Code] = @NewCodeVal, [Description] = @Description, [Desc] = @Description, [Retired] = @Retired WHERE [Code] = @Code END ELSE IF (@MasterName='NominalTypes') BEGIN IF ( @Mode = 'INSERT' ) INSERT INTO [dbo].[NominalTypes] ([ntyCode], [ntydesc]) VALUES (@Code, @Description) ELSE UPDATE [dbo].[NominalTypes] SET [ntyCode] = @NewCodeVal, [ntydesc] = @Description WHERE [ntyCode] = @Code END ELSE IF ( @MasterName = 'CategoryType' ) BEGIN IF ( @Mode = 'INSERT' ) INSERT INTO [dbo].[CategoryType] ([CategoryType], [Description]) VALUES (@Code, @Description) ELSE UPDATE [dbo].[CategoryType] SET [CategoryType] = @NewCodeVal, [Description] = @Description WHERE Rtrim(CategoryType) = @Code END ELSE IF (@MasterName='NationCodes') BEGIN IF ( @Mode = 'INSERT' ) INSERT INTO [dbo].[NationCodes] ([Nation], [Desc]) VALUES (@Code, @Description) ELSE UPDATE [dbo].[NationCodes] SET [Nation] = @NewCodeVal, [Desc] = @Description WHERE Rtrim([Nation]) = @Code END ELSE IF (@MasterName='DepositType') BEGIN IF ( @Mode = 'INSERT' ) INSERT INTO [dbo].[DepositType] ([Code], [Description] ) VALUES (@Code, @Description) ELSE UPDATE [dbo].[DepositType] SET [Code] = @NewCodeVal, [Description] = @Description WHERE [Code] = @Code END ELSE IF (@MasterName='OutlayCode') BEGIN IF ( @Mode = 'INSERT' ) INSERT INTO [dbo].[OutlayCode] ([Code], [Description]) VALUES (@Code, @Description) ELSE UPDATE [dbo].[OutlayCode] SET [Code] = @NewCodeVal, [Description] = @Description WHERE [Code] = @Code END ELSE IF (@MasterName='Narratives') BEGIN IF ( @Mode = 'INSERT' ) INSERT INTO [dbo].[Narratives] ([Code], [Narrative]) VALUES (@Code, @Description) ELSE UPDATE [dbo].[Narratives] SET [Code] = @NewCodeVal, [Narrative] = @Description WHERE [Code] = @Code END ELSE IF (@MasterName='ServiceCodes') BEGIN IF ( @Mode = 'INSERT' ) INSERT INTO [dbo].[ServiceCodes] ([Code], [Description]) VALUES (@Code, @Description) ELSE UPDATE [dbo].[ServiceCodes] SET [Code] = @NewCodeVal, [Description] = @Description WHERE [Code] = @Code END ELSE IF (@MasterName='FileColours') BEGIN IF ( @Mode = 'INSERT' ) INSERT INTO [dbo].[FileColours] ([ColourCode], [ColourDesc], [RGBColour], [BackgroundColour], [ForegroundColour]) VALUES (@Code, @Description, ISNULL(@RGBColour, -1), UPPER(@BackGroundColour), UPPER(@BackGroundColour)) ELSE UPDATE [dbo].[FileColours] SET [ColourCode] = @NewCodeVal, [ColourDesc] = @Description, [RGBColour] = ISNULL(@RGBColour, -1), [BackgroundColour] = UPPER(@BackGroundColour), [ForegroundColour] =UPPER(@BackGroundColour), [Retired] = @Retired WHERE [ColourCode] = @Code END ELSE IF (@MasterName='Branch') BEGIN IF ( @Mode = 'INSERT' ) INSERT INTO [dbo].[Branch] ([BranchCode], [Description], [Retired]) VALUES (@Code, @Description, CASE @Retired WHEN 'Y' THEN 1 ELSE 0 END) ELSE UPDATE [dbo].[Branch] SET [BranchCode] = @NewCodeVal, [Description] = @Description, [Retired] = CASE @Retired WHEN 'Y' THEN 1 ELSE 0 END WHERE [BranchCode] = @Code END ELSE IF (@MasterName='UndertakingStatus') BEGIN IF ( @Mode = 'INSERT' ) INSERT INTO [dbo].[UndertakingStatus] ([StatusDesc], [Retired]) VALUES (@NewCodeVal, @Retired) ELSE UPDATE [dbo].[UndertakingStatus] SET [StatusDesc] = @NewCodeVal, [Retired] = @Retired WHERE [RecordID] = @Code END ELSE IF (@MasterName='FeeEarners') BEGIN IF EXISTS(SELECT TOP 1 1 FROM [dbo].[FeeEarnerCodes] WHERE RTRIM([Code])=@Code ) BEGIN UPDATE [dbo].[FeeEarnerCodes] SET [Code] = @Code, [Name] = @Description, [Retired] = @Retired WHERE RTRIM([Code]) = @Code END ELSE BEGIN INSERT INTO [dbo].[FeeEarnerCodes] ([Code], [Name], [Retired] ) VALUES (@Code, @Description, @Retired) END END ELSE IF (@MasterName='FileColours') BEGIN IF EXISTS(SELECT TOP 1 1 FROM [dbo].[FileColours] WHERE RTRIM(ISNULL([ColourCode],''))=@Code ) BEGIN UPDATE [dbo].[FileColours] SET [ColourCode] = @Code, [ColourDesc] = @Description, [RGBColour] = ISNULL(@RGBColour, -1), [BackGroundColour] = UPPER(@BackGroundColour), [ForegroundColour] = UPPER(@BackGroundColour), [Retired] = @Retired WHERE RTRIM(ISNULL([ColourCode],'')) = @Code END ELSE BEGIN INSERT INTO [dbo].[FileColours] ([ColourCode], [ColourDesc], [RGBColour], [Retired], [BackgroundColour], [ForegroundColour]) VALUES (@Code, @Description, ISNULL(@RGBColour, -1), @Retired, UPPER(@BackGroundColour), UPPER(@BackGroundColour)) END END ELSE IF (@MasterName='Maritals') BEGIN IF EXISTS(SELECT TOP 1 1 FROM dbo.[MiscCodes] WHERE RTRIM([CdeCode])=@Code AND [CdeType]='MRS') BEGIN UPDATE [dbo].[MiscCodes] SET [CdeCode] = @Code, [CdeDesc] = @Description, [Retired] = @Retired WHERE RTRIM([CdeCode]) = @Code AND [CdeType] = 'MRS' END ELSE BEGIN INSERT INTO [dbo].[MiscCodes] ([CdeType], [CdeCode], [CdeDesc], [Retired]) VALUES ('MRS', @Code, @Description, @Retired) END END ELSE IF (@MasterName='TaxType') BEGIN IF EXISTS(SELECT TOP 1 1 FROM [dbo].[TaxType] WHERE RTRIM([TaxType])=@Code) BEGIN UPDATE [dbo].[TaxType] SET [TaxType] = @Code, [TaxDesc] = @Description WHERE RTRIM([TaxType]) = @Code END ELSE BEGIN INSERT INTO [dbo].[TaxType] ([TaxType], [TaxDesc]) VALUES (@Code, @Description) END END ELSE IF (@MasterName='Standard Narratives') BEGIN IF EXISTS(SELECT TOP 1 1 FROM [dbo].[DesktopNarr] WHERE RTRIM([Code])=@Code) BEGIN UPDATE [dbo].[DesktopNarr] SET [Code] = @Code, [Narrative] = @Description, [Retired] = @Retired WHERE RTRIM([Code]) = @Code END ELSE BEGIN INSERT INTO [dbo].[DesktopNarr] ([Code], [Narrative], [Retired]) VALUES (@Code, @Description, @Retired) END END ELSE IF (@MasterName='Admin Codes') BEGIN IF EXISTS(SELECT TOP 1 1 FROM [dbo].[TimeAdminCodes] WHERE RTRIM([NCCode]) = @Code) BEGIN UPDATE [dbo].[TimeAdminCodes] SET [NCCode] = @Code, [Description] = @Description, [Retired] = @Retired WHERE RTRIM([NCCode]) = @Code END ELSE BEGIN INSERT INTO [dbo].[TimeAdminCodes] ([NCCode], [Description], [Retired]) VALUES (@Code, @Description, @Retired) END END ELSE IF (@MasterName='Billing') BEGIN IF EXISTS(SELECT TOP 1 1 FROM [dbo].[BillDescriptions] WHERE RTRIM(ISNULL([SearchField],''))=@Code) BEGIN UPDATE [dbo].[BillDescriptions] SET [SearchField] = @Code, [BillDescriptions] = @Description, [Retired] = @Retired WHERE RTRIM([Number]) = @RGBColour END ELSE BEGIN INSERT INTO [dbo].[BillDescriptions] ([SearchField], [BillDescriptions], [Retired]) VALUES (@Code, @Description, @Retired) END END ELSE IF (@MasterName='Undertaking') BEGIN IF EXISTS(SELECT TOP 1 1 FROM [dbo].[UndertakingStatus] WHERE [RecordID] = @Code) BEGIN UPDATE [dbo].[UndertakingStatus] SET [StatusDesc] = @Description, [Retired] = @Retired WHERE [RecordID] = @Code END ELSE BEGIN INSERT INTO [dbo].[UndertakingStatus] ([StatusDesc], [Retired]) VALUES (@Description, @Retired) END END ELSE IF (@MasterName='Branch Code') BEGIN IF EXISTS(SELECT TOP 1 1 FROM [dbo].[Branch] WHERE RTRIM([BranchCode])=@Code) BEGIN UPDATE [dbo].[Branch] SET [BranchCode] = @Code, [Description] = @Description WHERE RTRIM([BranchCode]) = @Code END ELSE BEGIN INSERT INTO [dbo].[Branch] ([BranchCode], [Description]) VALUES (@Code, @Description) END END ELSE IF (@MasterName='Tax Head') BEGIN IF EXISTS(SELECT TOP 1 1 FROM [dbo].[TaxHead] WHERE RTRIM([TaxHead])=@Code) BEGIN UPDATE [dbo].TaxHead SET [TaxHead] = @Code, [Description] = @Description WHERE RTRIM([TaxHead])=@Code END ELSE BEGIN INSERT INTO [dbo].[TaxHead] ([TaxHead], [Description]) VALUES (@Code, @Description) END END ELSE IF (@MasterName='Salutation') BEGIN IF EXISTS(SELECT TOP 1 1 FROM SalutationCodes WHERE RTRIM(Code)=@Code) BEGIN UPDATE [dbo].[SalutationCodes] SET [Code] = @Code, [Description] = @Description WHERE RTRIM([Code])=@Code END ELSE BEGIN INSERT INTO [dbo].[SalutationCodes] ([Code], [Description]) VALUES (@Code, @Description) END END ELSE IF (@MasterName='Charge Type') BEGIN IF EXISTS(SELECT TOP 1 1 FROM [dbo].[ChargeType] WHERE RTRIM([ChargeType])=@Code AND RTRIM([TaxHead])=@Retired) BEGIN UPDATE [dbo].[ChargeType] SET [ChargeType] = @Code, [Description] = @Description WHERE RTRIM([ChargeType]) = @Code AND RTRIM([TaxHead]) = @Retired END ELSE BEGIN INSERT INTO [dbo].[ChargeType] ([ChargeType], [Description], [TaxHead]) VALUES (@Code, @Description, @Retired) END END ELSE IF (@MasterName='Item Types') BEGIN IF EXISTS(SELECT TOP 1 1 FROM [dbo].[ItemTypes] WHERE RTRIM([TypeCode])=@Code) BEGIN UPDATE [dbo].[ItemTypes] SET [TypeDescription] = @Description WHERE RTRIM([TypeCode]) = @Code END ELSE BEGIN INSERT INTO [dbo].[ItemTypes] ([TypeCode], [TypeDescription]) VALUES (@Code, @Description) END END ELSE IF (@MasterName='Location') BEGIN IF EXISTS(SELECT TOP 1 1 FROM [dbo].[ItemLocations] WHERE RTRIM([Code])=@Code) BEGIN UPDATE [dbo].[ItemLocations] SET [Description] = @Description, [Fullyn] = @childcare, [Retired] = @Retired WHERE RTRIM([Code]) = @Code END ELSE BEGIN INSERT INTO [dbo].[ItemLocations] ([Code], [Description], [Fullyn], [Retired]) VALUES (@Code, @Description, @childcare, @Retired ) END END ELSE IF (@MasterName='GroupModule') BEGIN IF EXISTS(SELECT TOP 1 1 FROM [dbo].[ModuleGroup] WHERE RTRIM([GroupName])=@Code) BEGIN UPDATE [dbo].[ModuleGroup] SET [Description] = @Description, [IsActive] = @Retired WHERE RTRIM([GroupName]) = @Code END ELSE BEGIN INSERT INTO [dbo].[ModuleGroup] ([GroupName], [Description], [IsActive]) VALUES (@Code, @Description, @Retired) END END ELSE IF (@MasterName='Occupation') BEGIN IF EXISTS(SELECT TOP 1 1 FROM [dbo].[MiscCodes] WHERE RTRIM([CdeCode]) = RTRIM(@Code) AND RTRIM([CdeType]) = 'OCC') BEGIN UPDATE [dbo].[MiscCodes] SET [CdeDesc] = @Description WHERE RTRIM([CdeCode]) = @Code END ELSE BEGIN INSERT INTO [dbo].[MiscCodes] ([CdeType], [CdeCode], [CdeDesc], [CdeTeam] ) VALUES ('OCC', @Code, @Description, '') END END ELSE IF (@MasterName='Contact Type') BEGIN IF EXISTS(SELECT TOP 1 1 FROM [dbo].[MiscCodes] WHERE RTRIM([CdeCode]) = RTRIM(@Code) AND RTRIM([CdeType]) = 'CCL') BEGIN UPDATE [dbo].[MiscCodes] SET [CdeDesc] = @Description WHERE RTRIM([CdeCode]) = @Code END ELSE BEGIN INSERT INTO [dbo].[MiscCodes] ([CdeType], [CdeCode], [CdeDesc], [CdeTeam] ) VALUES ('CCL', @Code, @Description, '') END END ELSE IF (@MasterName='Client Group') BEGIN IF EXISTS(SELECT TOP 1 1 FROM [dbo].[ClientGroup] WHERE RTRIM([GroupCode]) = RTRIM(@Code)) BEGIN UPDATE [dbo].[ClientGroup] SET [GroupName] = @Description WHERE RTRIM([GroupCode]) = @Code END ELSE BEGIN INSERT INTO [dbo].[ClientGroup] ([GroupCode], [GroupName] ) VALUES (@Code, @Description) END END ELSE IF (@MasterName='HandlerChargeGroup') BEGIN IF EXISTS(SELECT TOP 1 1 FROM [dbo].[HandlerChargeGroups] WHERE RTRIM(ISNULL([Code],'')) = RTRIM(@Code)) BEGIN SET @HandleRate=(Select [Defaultrate] from [dbo].[HandlerChargeGroups] where RTRIM(ISNULL([Code],'')) = @Code) IF @HandleRate <> @DefaultRate BEGIN SET @EventDesc='Updated Default Rate from ( ' + CONVERT(varchar(10),@HandleRate)+ ' ) to ( ' + CONVERT(varchar(10),@DefaultRate) + ' )' INSERT INTO [dbo].RateChangesLog ([User], [Event], [FromWhere], [UpdatedDate], [AffectedTo]) VALUES (@User, @EventDesc, 'Maintain Handler Charge Group', GETDATE(), @Code) END UPDATE [dbo].[HandlerChargeGroups] SET [Name] = @Description, [DefaultRate] = @DefaultRate WHERE RTRIM(ISNULL([Code],'')) = @Code END ELSE BEGIN INSERT INTO [dbo].[HandlerChargeGroups] ([Code], [Name], [DefaultRate]) VALUES (@Code, @Description, @DefaultRate) END END ELSE IF (@MasterName='StatusCodes') BEGIN IF EXISTS(SELECT TOP 1 1 FROM [dbo].[StatusCodes] WHERE RTRIM([Code]) = RTRIM(@Code)) BEGIN UPDATE [dbo].[StatusCodes] SET [Description] = @Description, [Retired] = @Retired WHERE RTRIM([Code]) = @Code UPDATE [SM] SET [SM].[MatterStatusDescription] = RTRIM(ISNULL(@Description, '')) FROM [dbo].[SearchMatters] [SM] WHERE [SM].[MatterStatus] = @Code END ELSE BEGIN INSERT INTO [dbo].[StatusCodes] ([Code], [Description], [Retired]) VALUES (@Code, @Description, @Retired) END END ELSE IF (@MasterName='UDFCategory') BEGIN IF EXISTS(SELECT TOP 1 1 FROM UDFCategory WHERE id=@Code) BEGIN UPDATE [dbo].[UDFCategory] SET [UDFCategory] = @Description WHERE [ID] = @Code END ELSE BEGIN INSERT INTO [dbo].[UDFCategory] ([UDFCategory] ) VALUES (@Description) END END ELSE IF (@MasterName='SDLTForm') BEGIN IF EXISTS(SELECT TOP 1 1 FROM [dbo].[SDLTForm] WHERE [FormID] = @RGBColour) BEGIN UPDATE [dbo].[SDLTForm] SET [FormName] = @Code , [Description] = @Description WHERE [FormID] = @RGBColour END ELSE BEGIN INSERT INTO [dbo].[SDLTForm] ([FormName], [Description]) VALUES (@Code, @Description) END END ELSE IF (@MasterName='Undertaking Category') BEGIN IF EXISTS(SELECT TOP 1 1 FROM [dbo].[UndertakingsCategory] WHERE RTRIM([Code])= RTRIM(@Code)) BEGIN UPDATE [dbo].[UndertakingsCategory] SET [Description] = @Description WHERE RTRIM([Code]) = @Code END ELSE BEGIN INSERT INTO [dbo].[UndertakingsCategory] ([Code], [Description]) VALUES (@Code, @Description) END END ELSE IF (@MasterName='KYCType') BEGIN IF EXISTS(SELECT TOP 1 1 FROM [dbo].[KYCType] WHERE RTRIM([PK_Type])= RTRIM(@Code)) BEGIN UPDATE [dbo].[KYCType] SET [Description] = @Description WHERE RTRIM([PK_Type]) = @Code END ELSE BEGIN INSERT INTO [dbo].[KYCType] ([Description]) VALUES (@Description) END END ELSE IF (@MasterName='IntroBy') BEGIN IF EXISTS(SELECT TOP 1 1 FROM [dbo].[IntroductionBy] WHERE RTRIM([Pk_Intro])= RTRIM(@Code)) BEGIN UPDATE [dbo].[IntroductionBy] SET [Description] = @Description WHERE RTRIM([Pk_Intro]) = @Code END ELSE BEGIN INSERT INTO [dbo].[IntroductionBy] ([Description]) VALUES (@Description) END END ELSE IF (@MasterName='ClientType') BEGIN IF EXISTS(SELECT TOP 1 1 FROM [dbo].[ClientType] WHERE RTRIM([PK_ClientType])= RTRIM(@Code)) BEGIN UPDATE [dbo].[ClientType] SET [Description] = @Description WHERE RTRIM([PK_ClientType]) = @Code END ELSE BEGIN INSERT INTO [dbo].[ClientType] ([Description]) VALUES (@Description) END END ELSE IF (@MasterName='ID Code') BEGIN IF EXISTS(SELECT TOP 1 1 FROM [dbo].[IDCodes] WHERE RTRIM(IdCode)= RTRIM(@Code)) BEGIN UPDATE [dbo].[IDCodes] SET [Description] = @Description, [Category] = @Retired WHERE RTRIM([IdCode]) = @Code END ELSE BEGIN INSERT INTO [dbo].[IdCodes] ([IdCode], [Description], [Category]) VALUES (@Code, @Description, @Retired) END END ELSE IF (@MasterName='Outlay Code') BEGIN IF [dbo].[ISSAM4]() = 0 BEGIN SET @Command = ' IF EXISTS(SELECT TOP 1 1 FROM [dbo].[OutlayCode] WHERE RTRIM([Code])= RTRIM(''' + Replace(@Code, '''', '''''') + ''')) BEGIN UPDATE OutlayCode SET [Description] = ''' + Replace(@Description, '''', '''''') + ''' WHERE RTRIM(Code) = ''' + Replace(@Code, '''', '''''') + ''' END ELSE BEGIN INSERT INTO OutlayCode(Code,[Description]) VALUES (''' + Replace(@Code, '''', '''''') + ''',''' + Replace(@Description, '''', '''''') + ''') END' EXEC (@Command) END ELSE BEGIN SET @Command = ' IF EXISTS(SELECT TOP 1 1 FROM OutlayCode WHERE RTRIM([OutlayCode])= RTRIM(''' + Replace(@Code, '''', '''''') + ''')) BEGIN UPDATE OutlayCode SET [Description] = ''' + Replace(@Description, '''', '''''') + ''' WHERE RTRIM([OutlayCode]) = ''' + Replace(@Code, '''', '''''') + ''' END ELSE BEGIN INSERT INTO OutlayCode([OutlayCode],[Description]) VALUES (''' + Replace(@Code, '''', '''''') + ''',''' + Replace(@Description, '''', '''''') + ''') END' EXEC (@Command) END END ELSE IF (@MasterName='Interest') BEGIN IF EXISTS(SELECT TOP 1 1 FROM [dbo].[MiscCodes] WHERE RTRIM([CdeCode])=@Code AND [CdeType]='IRT') BEGIN UPDATE [dbo].[MiscCodes] SET [CdeCode] = @Code, [CdeDesc] = @Description, [Retired] = @Retired WHERE RTRIM([CdeCode])=@Code AND [CdeType] ='IRT' END ELSE BEGIN INSERT INTO [dbo].[MiscCodes] ([CdeType], [CdeCode], [CdeDesc], [Retired]) VALUES ('IRT', @Code, @Description, @Retired) END END ELSE IF (@MasterName='CourtFees') BEGIN IF EXISTS(SELECT TOP 1 1 FROM [dbo].[CourtFees] WHERE RTRIM([Code])=@Code) BEGIN UPDATE [dbo].[CourtFees] SET [Code] = @Code, [Description] = @Description, [ChargeClient] = @clientCharge, [Value] = @value, [ClientValue] = @ClientValue WHERE [Code] = @Code END ELSE BEGIN INSERT INTO [dbo].[CourtFees] ([Code], [Description], [ChargeClient], [Value], [ClientValue]) VALUES (@Code, @Description, @clientCharge, @value, @ClientValue) END END SET @Result=1 END END GO IF OBJECT_ID(N'KAAS_PostCheque',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_PostCheque] GO CREATE PROCEDURE [dbo].[KAAS_PostCheque] ( @BatchNo int ) AS /******************************************************************************************************* * Update Lodgement * * * * Stored Procedure Name : [dbo].[KAAS_PostCheque] 3558 * * * * Modification History: * * 2021-06-10 Natarajan S Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON select Narr= 'Post Cheque successfull' SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_PostJournal',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_PostJournal] GO CREATE PROCEDURE [dbo].[KAAS_PostJournal] ( @BatchNo int ) AS /******************************************************************************************************* * Update Lodgement * * * * Stored Procedure Name : [dbo].[KAAS_PostJournal] 3558 * * * * Modification History: * * 2021-06-10 Natarajan S Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON select Narr= 'Post Journal successfull' SET NOCOUNT OFF END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_PostMultiCheque' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_PostMultiCheque] END GO CREATE PROCEDURE [dbo].[KAAS_PostMultiCheque] ( @BatchNo int ) AS /******************************************************************************************************* * Update Lodgement * * * * Stored Procedure Name : [dbo].[KAAS_PostMultiCheque] 3558 * * * * Modification History: * * 2021-09-08 Balamurugan C Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON SELECT Narr = 'Post Multi Cheque successfully' SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_PostReceipts',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_PostReceipts] GO CREATE PROCEDURE [dbo].[KAAS_PostReceipts] ( @BatchNo int ) AS /******************************************************************************************************* * Update Receipts * * * * Stored Procedure Name : [dbo].[KAAS_PostReceipts] 3558 * * * * Modification History: * * 2021-06-10 Natarajan S Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON select Narr= 'Post Receipts successfull' SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_PostSAMBankTransferTransaction',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_PostSAMBankTransferTransaction] GO CREATE PROCEDURE [dbo].[KAAS_PostSAMBankTransferTransaction] ( @BatchNo int ) AS /******************************************************************************************************* * Update Purchase Bill * * * * Stored Procedure Name : [dbo].[KAAS_PostSAMBankTransferTransaction] * * * * Modification History: * * 2021-08-18 Vinodhkumar M Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON select Narr= 'Post Bank Transfer successfull' SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_PostSAMPurchaseBill',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_PostSAMPurchaseBill] GO CREATE PROCEDURE [dbo].[KAAS_PostSAMPurchaseBill] ( @BatchNo int ) AS /******************************************************************************************************* * Update Purchase Bill * * * * Stored Procedure Name : [dbo].[KAAS_PostSAMPurchaseBill] * * * * Modification History: * * 2021-08-06 Vinodhkumar M Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON select Narr= 'Post Bill successfull' SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_PostSAMUpdateChangeAssociateDetails',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_PostSAMUpdateChangeAssociateDetails] GO CREATE PROCEDURE [dbo].[KAAS_PostSAMUpdateChangeAssociateDetails] (@Code VARCHAR(20) = NULL, @Name VARCHAR(20) = NULL, @Email VARCHAR(90) = NULL, @BankType CHAR(1) = NULL, @BankName VARCHAR(60) = NULL, @BankAddress VARCHAR(150)= NULL, @BankSortCode VARCHAR(20) = NULL, @BankAccNo VARCHAR(20) = NULL, @IBAN VARCHAR(50) = NULL, @BIC VARCHAR(20) = NULL, @EFTAddress VARCHAR(90) = NULL, @HandlerCode VARCHAR(10) = NULL) AS /******************************************************************************************************* * Stored Procedure Name : [dbo].[KAAS_PostSAMUpdateChangeAssociateDetails] * * * * Description: Update details of Change associates party based on Code * * * * Modification History: * * 2021-09-02 Vinodhkumar M Created * *******************************************************************************************************/ BEGIN TRY BEGIN TRANSACTION DECLARE @CASEASSOCIATES TABLE ([Email] VARCHAR(90), [BankType] CHAR(1), [BankName] VARCHAR(60), [BankAddress] VARCHAR(150), [BankSortCode] VARCHAR(20), [BankAccNo] VARCHAR(20), [IBAN] VARCHAR(50), [BIC] VARCHAR(20), [EFTEmailAddress] VARCHAR(90)) INSERT INTO @CASEASSOCIATES SELECT [Email], [BankType], [BankName], [BankAddress], [BankSortCode], [BankAccNo], [IBAN], [BIC], [EFTEmailAddress] FROM [dbo].[CaseAssociatesNames] WHERE [CODE]=@Code UPDATE [dbo].[CaseAssociatesNames] SET [Code] = @Code, [Name] = @Name, [Email] = @Email, [BankType] = @BankType, [BankName] = @BankName, [BankAddress] = @BankAddress, [BankSortCode] = @BankSortCode, [BankAccNo] = @BankAccNo, [IBAN] = @IBAN, [BIC] = @BIC, [EFTEmailAddress] = @EFTAddress WHERE [CODE]=@Code --Insert the Changes into Logs IF(@Email != (SELECT Email FROM @CASEASSOCIATES)) BEGIN INSERT INTO dbo.EFTTableChangeLog (LOGON,TABLENAME,CODE,DESCRIPTION,DATE) VALUES (@HandlerCode,'CaseAssociatesNames',@Code,'Changed Email from ' + (SELECT Email FROM @CASEASSOCIATES) + ' to '+@Email, GETUTCDATE()) END IF(@BankName != (SELECT BankName FROM @CASEASSOCIATES)) BEGIN INSERT INTO dbo.EFTTableChangeLog (LOGON,TABLENAME,CODE,DESCRIPTION,DATE) VALUES (@HandlerCode,'CaseAssociatesNames',@Code,'Changed Bank Name from '+(SELECT BankName FROM @CASEASSOCIATES)+' to '+@BankName, GETUTCDATE()) END IF(@BankAddress != (SELECT BankAddress FROM @CASEASSOCIATES)) BEGIN INSERT INTO dbo.EFTTableChangeLog (LOGON,TABLENAME,CODE,DESCRIPTION,DATE) VALUES (@HandlerCode,'CaseAssociatesNames',@Code,'Changed Bank Address from '+(SELECT BankAddress FROM @CASEASSOCIATES)+' to '+@BankAddress, GETUTCDATE()) END IF(@BankSortCode != (SELECT BankSortCode FROM @CASEASSOCIATES)) BEGIN INSERT INTO dbo.EFTTableChangeLog (LOGON,TABLENAME,CODE,DESCRIPTION,DATE) VALUES (@HandlerCode,'CaseAssociatesNames',@Code,'Changed Bank Sort Code from '+ (SELECT BankSortCode FROM @CASEASSOCIATES) +' to '+@BankSortCode, GETUTCDATE()) END IF(@BankAccNo != (SELECT BankAccNo FROM @CASEASSOCIATES)) BEGIN INSERT INTO dbo.EFTTableChangeLog (LOGON,TABLENAME,CODE,DESCRIPTION,DATE) VALUES (@HandlerCode,'CaseAssociatesNames',@Code,'Changed Bank Account Number Code from '+(SELECT BankAccNo FROM @CASEASSOCIATES)+' to '+@BankAccNo, GETUTCDATE()) END IF(@IBAN != (SELECT IBAN FROM @CASEASSOCIATES)) BEGIN INSERT INTO dbo.EFTTableChangeLog (LOGON,TABLENAME,CODE,DESCRIPTION,DATE) VALUES (@HandlerCode,'CaseAssociatesNames',@Code,'Changed IBAN from '+(SELECT IBAN FROM @CASEASSOCIATES)+' to '+@IBAN, GETUTCDATE()) END IF(@BIC != (SELECT BIC FROM @CASEASSOCIATES)) BEGIN INSERT INTO dbo.EFTTableChangeLog (LOGON,TABLENAME,CODE,DESCRIPTION,DATE) VALUES (@HandlerCode,'CaseAssociatesNames',@Code,'Changed BIC from'+ (SELECT BIC FROM @CASEASSOCIATES) +'to'+@BIC, GETUTCDATE()) END IF(@EFTAddress != (SELECT EFTEmailAddress FROM @CASEASSOCIATES)) BEGIN INSERT INTO dbo.EFTTableChangeLog (LOGON,TABLENAME,CODE,DESCRIPTION,DATE) VALUES (@HandlerCode,'CaseAssociatesNames',@Code,'Changed EFT Email address from '+(SELECT EFTEmailAddress FROM @CASEASSOCIATES)+' to '+@EFTAddress, GETUTCDATE()) END IF(@BankType != (SELECT BankType FROM @CASEASSOCIATES)) BEGIN INSERT INTO dbo.EFTTableChangeLog (LOGON,TABLENAME,CODE,DESCRIPTION,DATE) VALUES (@HandlerCode,'CaseAssociatesNames',@Code,'Changed Bank Type from '+(SELECT BankType FROM @CASEASSOCIATES)+' to '+@BankType, GETUTCDATE()) END COMMIT TRANSACTION END TRY BEGIN CATCH ROLLBACK TRANSACTION END CATCH GO IF OBJECT_ID(N'KAAS_SAMApproveReturnChequeRequisition',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_SAMApproveReturnChequeRequisition] GO CREATE PROCEDURE [dbo].[KAAS_SAMApproveReturnChequeRequisition] ( @ReqNo INT, @Status CHAR ) AS /******************************************************************************************************* * To return cheque requisitions * * * * Stored Procedure Name : [dbo].[KAAS_SAMReturnChequeRequisition] * * * * Modification History: * * 2021-09-20 Revathy D Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON UPDATE [dbo].[ChequeRequisitionHeader] SET [STATUS] = @Status WHERE [REQNO] = @ReqNo SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_SAMApproveReturnDraftBills',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_SAMApproveReturnDraftBills] GO CREATE PROCEDURE [dbo].[KAAS_SAMApproveReturnDraftBills] ( @BillNo INT, @BatchNo INT = 0, @Matter VARCHAR(20), @DraftNo INT, @Released CHAR, @IsApprove CHAR ) AS /******************************************************************************************************* * To approve/return draft bills * * * * Stored Procedure Name : [dbo].[KAAS_SAMApproveReturnDraftBills] * * * * Modification History: * * 2021-09-21 Revathy D Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON IF(@IsApprove = 'Y') BEGIN UPDATE [dbo].[BillHeader] SET [BILLNO] = @BillNo, [BATCHNO] = @BatchNo WHERE [MATTER] = @Matter AND [DRAFTNO] = @DraftNo AND [BILLNO] = 0 END ELSE BEGIN UPDATE [dbo].[BillHeader] SET [RELEASED] = @Released WHERE [MATTER] = @Matter AND [DRAFTNO] = @DraftNo AND [BILLNO] = 0 END SET NOCOUNT OFF END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_SamBGBillAllItems' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_SamBGBillAllItems] END GO CREATE PROCEDURE [dbo].[KAAS_SamBGBillAllItems] (@GroupIDString VARCHAR(38) = '', @Action INT = 0) AS /******************************************************************************************************* * Billing guide Bill All Items * * * * Stored Procedure Name : [dbo].[KAAS_SamBGBillAllItems] * * * * Modification History: * * 2021-10-25 Vinodhkumar M Created * *******************************************************************************************************/ BEGIN /* Actions: 1 - Don't bill 2 - Bill 3 - Exclude from all bills */ UPDATE BGD SET BGD.[BillNow] = CASE WHEN @Action = 1 THEN BGD.[CHARGE] - BGD.[BilledAmount] ELSE 0 END, BGD.[IncludeInBill] = CASE WHEN @Action = 3 THEN 2 ELSE 1 END from [dbo].[BGGroups] BGG INNER JOIN [dbo].[BGDetail] BGD ON BGD.[BGGroupID] = BGG.[ID] WHERE BGG.[ID] = convert(uniqueidentifier, @GroupIDString) UPDATE BGD2 SET BGD2.[BillNow] = 0, BGD2.[IncludeInBill] = 0 FROM [dbo].[BGGroups] BGG INNER JOIN [dbo].[BGDetail] BGD ON BGD.[BGGroupID] = BGG.[ID] INNER JOIN [dbo].[BGDetail] BGD2 ON BGD2.[Type] = BGD.[Type] AND BGD2.[OriginalID] = BGD.[OriginalID] AND BGD2.[BGControlID] <> BGD.[BGControlID] AND BGD2.[InvoiceNo] = 0 WHERE BGG.[ID] = convert(uniqueidentifier, @GroupIDString) END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_SamBillingGuideAddToInvoice' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_SamBillingGuideAddToInvoice] END GO CREATE PROCEDURE [dbo].[KAAS_SamBillingGuideAddToInvoice] (@DraftNo INT = 0, @DeleteExisting VARCHAR(10) = NULL) AS /******************************************************************************************************* * add to invoice * * * * Stored Procedure Name : [dbo].[KAAS_SamBillingGuideAddToInvoice] * * * * Modification History: * * 2021-10-22 vinodhkumar M Created * * 2021-10-27 vinodhkumar M Modifed - added Delete Draft Bill Detail SP with Flag * *******************************************************************************************************/ BEGIN BEGIN TRY BEGIN TRAN SET NO_BROWSETABLE ON IF(@DeleteExisting = 'CLEAR') BEGIN EXEC [dbo].[KAAS_DeleteDraftBillDetail] 0,@DraftNo END EXEC ky_BGAddToInvoice @DraftNo INSERT INTO [dbo].[BillFeeBreakdown] ([MATTER], [DRAFTNO], [BILLNO], [FECODE], [TYPE], [PERCENT], [CALCULATION], [VALUE], [VATCODE], [VATAMT]) SELECT [NBFB].[MATTER], [NBFB].[DRAFTNO], [NBFB].[BILLNO], [NBFB].[FECODE], [NBFB].[TYPE], [NBFB].[PERCENT], [NBFB].[CALCULATION], [NBFB].[VALUE], [NBFB].[VATCODE], [NBFB].[VATAMT] FROM ky_BGNewBillFeeBreakdown(@DraftNo) [NBFB] LEFT OUTER JOIN [dbo].[BillFeeBreakdown] [BFB] ON [BFB].[DRAFTNO] = [NBFB].[DRAFTNO] AND [BFB].[FECODE] = [NBFB].[FECODE] WHERE [BFB].[RECORDID] IS NULL UPDATE [BFB] SET [BFB].[VALUE] = [BFB].[VALUE] + [NBFB].[VALUE], [BFB].[VATAMT] = [BFB].[VATAMT] + [NBFB].[VATAMT] FROM [dbo].[BillFeeBreakDown] [BFB] INNER JOIN ky_BGNewBillFeeBreakdown(@DraftNo) [NBFB] ON [NBFB].[FECODE] = [BFB].[FECODE] WHERE [BFB].[DRAFTNO] = @DraftNo SET NO_BROWSETABLE OFF COMMIT TRAN END TRY BEGIN CATCH ROLLBACK TRAN END CATCH END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_SamBillingGuideControl' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_SamBillingGuideControl] END GO CREATE PROCEDURE [dbo].[KAAS_SamBillingGuideControl] (@DraftNo INT = 0) AS /******************************************************************************************************* * Get control details based on DraftNo * * * * Stored Procedure Name : [dbo].[KAAS_SamBillingGuideControl] * * * * Modification History: * * 2021-10-20 Vinodhkumar M Created * *******************************************************************************************************/ BEGIN SELECT [ID] AS [Id], [Date] AS [Date], [TDate] AS [TDate], [ODate] AS [ODate], [Description] AS [Description], [DRAFTNO] AS [DraftNo], [BATCHNO] AS [BatchNo], [ADDRESSEE] AS [Addressee], [OURREF] AS [OurRef], [YOURREF] AS [YourRef], [MATTER] AS [Matter], [IsAdhoc] AS [IsAdhoc], [OAmount] AS [OAmount], [TAmount] AS [TAmount] FROM [dbo].[BGControl] WHERE [DRAFTNO] = @DraftNo END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_SamBillingGuideGroupConfig' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_SamBillingGuideGroupConfig] END GO CREATE PROCEDURE [dbo].[KAAS_SamBillingGuideGroupConfig] (@DraftNo INT = 0, @GroupType VARCHAR(1) = NULL, @GroupHandler VARCHAR(5) = NULL, @GroupOutlay VARCHAR(10) = NULL, @GroupMatter VARCHAR(17) = NULL, @GroupNarr VARCHAR(255) = NULL, @NewGroupNarr VARCHAR(255) = NULL, @GroupingMode VARCHAR(17) = NULL, @HandlerMode VARCHAR(17) = NULL) AS /******************************************************************************************************* * Billing Guide Grouping Cofiguration * * * * Stored Procedure Name : [dbo].[KAAS_SamBillingGuideGroupConfig] * * * * Modification History: * * 2021-10-21 Vinodhkumar M Created * *******************************************************************************************************/ BEGIN IF(@GroupingMode = 'GROUPING') BEGIN DECLARE @ControlID INT = 0 SELECT @CONTROLID = [ID] FROM [dbo].[BGControl] WHERE [DRAFTNO] = @DraftNo IF(@HandlerMode ='HANDLER') BEGIN SELECT @GroupHandler = [UF].[FEEEARN] --,[HAN].[Name] AS [HandlerName] FROM (SELECT DISTINCT [BGD].[FEEEARN] FROM [dbo].[BGDetail] [BGD] WHERE [BGD].[BGControlID] = @CONTROLID AND [BGD].[Type] = 'F') [UF] INNER JOIN [dbo].[HANDLERS] [HAN] ON [HAN].[CODE] = [UF].[FEEEARN] END IF (@GroupType IS NOT NULL) SET @GroupType = substring(@GroupType, 1, 1) IF (@NewGroupNarr IS NOT NULL) Set @NEWGroupNarr = SUBSTRING(@NewGroupNarr, 1, 255) IF (@GroupNarr IS NOT NULL) SET @GroupNarr = SUBSTRING(@GroupNarr, 1, 255) IF (@GroupHandler IS NOT NULL) Set @GroupHandler = SubString(@GroupHandler, 1, 5) IF (@GroupOutlay IS NOT NULL) Set @GroupOutlay = SUBSTRING(@GroupOutlay, 1, 10) IF (@GroupMatter IS NOT NULL) SET @GroupMatter = SUBSTRING(@GroupMatter, 1, 17) EXEC [dbo].[ky_QuickGroupBG] @ControlID, @GroupType, @GroupHandler, @GroupOutlay, @GroupMatter, @GroupNarr, @NewGroupNarr EXEC [dbo].[ky_ReorderGroupBG] @ControlID EXEC [dbo].[ky_NewGroupBG] @ControlID, @NewGroupNarr END END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_SamBillingGuideIDConfig' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_SamBillingGuideIDConfig] END GO CREATE PROCEDURE [dbo].[KAAS_SamBillingGuideIDConfig] (@DraftNo INT = 0, @TimrefDate DATETIME = NULL, @OutlayRefDate DATETIME = NULL, @TimeAmt DECIMAL(19,2) = 0, @OutlayAmt DECIMAL(19,2) = 0) AS /******************************************************************************************************* * Billing Guide ID incremental Cofiguration * * * * Stored Procedure Name : [dbo].[KAAS_SamBillingGuideIDConfig] * * * * Modification History: * * 2021-10-20 Vinodhkumar M Created * *******************************************************************************************************/ BEGIN DECLARE @CONTROLID int DECLARE @TIMEREFAMOUNT money DECLARE @OUTLAYAMOUNT money SET @TIMEREFAMOUNT = Convert(MONEY, @TimeAmt) SET @OUTLAYAMOUNT = Convert(MONEY, @OutlayAmt) EXEC [dbo].[ky_InitialiseBG] @DraftNo, NULL, @TimrefDate, @OutlayRefDate, @TIMEREFAMOUNT, @OUTLAYAMOUNT SELECT @CONTROLID = [ID] FROM [dbo].[BGControl] WHERE [DRAFTNO] = @DraftNo EXEC [dbo].[ky_UngroupBG] @CONTROLID, 0 END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_SamBillingGuideList' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_SamBillingGuideList] END GO CREATE PROCEDURE [dbo].[KAAS_SamBillingGuideList] (@Id INT = 0, @DraftNo INT = 0) AS /******************************************************************************************************* * List for Billing Guide * * * * Stored Procedure Name : [dbo].[KAAS_SamBillingGuideList] * * * * Modification History: * * 2021-10-20 Vinodhkumar M Created * * 2021-10-27 Vinodhkumar M Modified- new parameter is added * *******************************************************************************************************/ BEGIN SELECT [BGE].[IncludeInBill] AS IncludeInBill, [BGE].[Type] AS Type, [BGE].[MATTER] AS Matter, [BGE].[FEEEARN] AS FE, [BGE].[OUTLAYCODE] AS OutlayCode, [BGE].[OUTLAYDESCRIPTION] AS OutlayDescription, [BGE].[HANDLERNAME] AS HandlerName, [BGE].[TEAMNAME] AS TeamName, [BGE].[DATE] AS Date, [BGE].[COMMENT] AS Comment, [BGE].[InvoiceNo] AS InvoiceNo, [BGE].[CHARGE] AS Charge, [BGE].[ORIGINALCHARGE] AS OriginalCharge, [BGE].[BilledAmount] AS BilledAmount, [BGE].[LeftToBill] AS LeftToBill, [BGE].[BillNow] AS BillNow, [BGE].[GroupNumber] AS GroupNumber, [BGE].[NumberOfDetailItems] AS NumberOfDetailItems, [BGE].[Grouped] AS Grouped, [BGE].[GroupID] AS GroupId FROM [ky_BGListGroupedEntries](@Id) [BGE] ORDER BY CASE WHEN [BGE].[Type] = 'F' THEN 0 ELSE 1 END, [BGE].[GroupNumber] SELECT [TotalFees] AS TotalFees, [TotalOutlay] AS TotalOutlay, [GrandTotal] AS GrandTotal FROM ky_BGListTotals(@Id) SELECT [DraftNo] AS DraftNo, [Matter] AS Matter, [Total] AS Total, [FEES] AS Fees, [OUTLAY] AS Outlay FROM [dbo].[BillHeader] WHERE [DRAFTNO] = @DraftNo END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_SAMBillingGuideProcess' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_SAMBillingGuideProcess] END GO CREATE PROCEDURE [dbo].[KAAS_SAMBillingGuideProcess] ( @BatchNo INT ) AS /******************************************************************************************************* * Update Posting Logic * * * * Stored Procedure Name : [dbo].[KAAS_SAMBillingGuideProcess] * * Copied From : [dbo].[ky_BGProcess] * * * * Modification History: * * 2021-11-25 Balamurugan C Created * *******************************************************************************************************/ BEGIN DECLARE @ControlID int DECLARE @DefaultBilldate datetime DECLARE @AdHocBillingGuide int DECLARE @DraftNo int UPDATE BGC SET @ControlID = [ID], @DraftNo = IsNull(BIH.[DRAFTNO], BGC.[DraftNo]), BGC.[DraftNo] = IsNull(BIH.[DRAFTNO], BGC.[DraftNo]), BGC.[BatchNo] = IsNull(BIH.[BATCHNO], BGC.[BatchNo]) FROM [dbo].[BillHeader] BIH INNER JOIN [dbo].[BGControl] BGC ON BGC.[DraftNo] = BIH.[DraftNo] WHERE BIH.[BATCHNO] = @BatchNo SET @AdHocBillingGuide = 0 IF (@ControlID is NULL) BEGIN -- Create an ungrouped Billing Guide for the writedown date, then process it as normal. -- This Billing Guide will be flagged as "ad hoc", as it was not generated and configured -- by the user. If the billing is subsequently reversed, this ad hoc billing guide will -- be deleted. Billing Guides that were generated and configured by the user will not be -- deleted when billing is reversed, and they can be used again. SET @AdHocBillingGuide = 1 SELECT @DefaultBillDate = convert(datetime, [WRITEDOWN]) FROM [dbo].[BatchH] WHERE [BATCHNO] = @BatchNo EXEC ky_InitialiseBG @DraftNo, @BatchNo, @DefaultBillDate, @DefaultBillDate, NULL, NULL UPDATE BGC SET IsAdHoc = 1, @ControlID = [ID] FROM [dbo].[BGControl] BGC WHERE [BATCHNO] = @BatchNo END UPDATE TEN SET TEN.[InvoiceNo] = Case When isnumeric(IsNull(BAH.[REF], '')) <> 1 Then 0 When convert(char(10), convert(decimal(10,0), IsNull(BAH.[REF], ''))) <> IsNull(BAH.[REF], '') Then 0 ELSE convert(int, convert(decimal(10,0), IsNull(BAH.[REF], ''))) END, TEN.[BILLINGDATE] = BAH.[DATE], TEN.[BILLINGYEAR] = BAH.[YEAR], TEN.[BILLINGPERIOD] = BAH.[PERNO], TEN.[IncludeInBill] = CASE WHEN IsNull(BGD.[IncludeInBill], 1) <> 2 THEN 1 ELSE 2 END, TEN.[BilledAmount] = IsNull(TEN.[BilledAmount], 0) + IsNull(BGD.[BillNow], 0) FROM [dbo].[BGControl] BGC INNER JOIN [dbo].[BGGroups] BGG INNER JOIN [dbo].[BGDetail] BGD INNER JOIN [dbo].[TimeEntry] TEN ON TEN.[RECORDID] = BGD.[OriginalID] ON BGD.[BGGroupID] = BGG.[ID] AND BGD.[Type] = 'F' ON BGG.[BGControlID] = BGC.[ID] INNER JOIN [dbo].[BATCHH] BAH ON BAH.[BatchNo] = BGC.[BatchNo] WHERE BGC.[BatchNO] = @BatchNo --AND IsNull(TEN.[INVOICENO], 0) <> 0 AND BGD.[BillNow] <> 0 AND IsNull(BGD.[IncludeInBill], 1) <> 2 UPDATE TEN SET TEN.[IncludeInBill] = 2 FROM [dbo].[BGControl] BGC INNER JOIN [dbo].[BGGroups] BGG INNER JOIN [dbo].[BGDetail] BGD INNER JOIN [dbo].[TimeEntry] TEN ON TEN.[RECORDID] = BGD.[OriginalID] ON BGD.[BGGroupID] = BGG.[ID] AND BGD.[Type] = 'F' ON BGG.[BGControlID] = BGC.[ID] INNER JOIN [dbo].[BATCHH] BAH ON BAH.[BatchNo] = BGC.[BatchNo] WHERE BGC.[BatchNO] = @BatchNo AND IsNull(BGD.[IncludeInBill], 1) = 2 UPDATE MAL SET MAL.[InvoiceNo] = Case When isnumeric(IsNull(BAH.[REF], '')) <> 1 Then 0 When convert(char(10), convert(decimal(10,0), IsNull(BAH.[REF], ''))) <> IsNull(BAH.[REF], '') Then 0 ELSE convert(int, convert(decimal(10,0), IsNull(BAH.[REF], ''))) END, MAL.[BILLINGDATE] = BAH.[DATE], MAL.[BILLINGYEAR] = BAH.[YEAR], MAL.[BILLINGPERIOD] = BAH.[PERNO], MAL.[IncludeInBill] = CASE WHEN IsNull(BGD.[IncludeInBill], 1) <> 2 THEN 1 ELSE 2 END, MAL.[BilledOutlayValue] = IsNull(MAL.[BilledOutlayValue], 0) + IsNull(BGD.[BillNow], 0) FROM [dbo].[BGControl] BGC INNER JOIN [dbo].[BGGroups] BGG INNER JOIN [dbo].[BGDetail] BGD INNER JOIN [dbo].[MatterLedger] MAL ON MAL.[LREF] = BGD.[OriginalID] ON BGD.[BGGroupID] = BGG.[ID] AND BGD.[Type] = 'O' ON BGG.[BGControlID] = BGC.[ID] INNER JOIN [dbo].[BATCHH] BAH ON BAH.[BatchNo] = BGC.[BatchNo] WHERE BGC.[BATCHNO] = @BatchNo --AND IsNull(MAL.[INVOICENO], 0) <> 0 AND BGD.[BillNow] <> 0 AND IsNull(BGD.[IncludeInBill], 1) <> 2 UPDATE MAL SET MAL.[IncludeInBill] = 2 FROM [dbo].[BGControl] BGC INNER JOIN [dbo].[BGGroups] BGG INNER JOIN [dbo].[BGDetail] BGD INNER JOIN [dbo].[MatterLedger] MAL ON MAL.[LREF] = BGD.[OriginalID] ON BGD.[BGGroupID] = BGG.[ID] AND BGD.[Type] = 'O' ON BGG.[BGControlID] = BGC.[ID] INNER JOIN [dbo].[BATCHH] BAH ON BAH.[BatchNo] = BGC.[BatchNo] WHERE BGC.[BATCHNO] = @BatchNo AND IsNull(BGD.[IncludeInBill], 1) = 2 UPDATE MAT SET MAT.[CHARGEBAL] = GTOT.[BALAMOUNT], MAT.[TimeBal] = GTOT.[BALTIME] FROM ( SELECT GMAT.[code], IsNull(SUM( IsNull(TIE.[CHARGE], 0) - IsNull(TIE.[BILLEDAMOUNT], 0)), 0) AS [BALAMOUNT], IsNull(SUM(CASE WHEN IsNull(TIE.[CHARGE], 0) <> IsNull(TIE.[BILLEDAMOUNT], 0) THEN IsNull(TIE.[Time], 0) ELSE 0 END), 0) AS [BALTIME] FROM [dbo].[BatchH] BAH INNER JOIN [dbo].[Matters] GMAT LEFT OUTER JOIN [dbo].[TimeEntry] TIE ON TIE.[Matter] = GMAT.[code] AND TIE.[Charge] <> TIE.[BilledAmount] AND TIE.[Timeorcharge] IN ('T', 'C') AND TIE.[REC_IRR] <> 'N' AND IsNull(TIE.[IncludeInBill], 1) <> 2 ON GMAT.[code] = BAH.[MATTER] OR GMAT.[CompBillingMatter] = BAH.[MATTER] WHERE BAH.[BATCHNO] = @BatchNo GROUP BY GMAT.[code]) GTOT INNER JOIN [dbo].[Matters] MAT ON MAT.[code] = GTOT.[code] INSERT INTO [dbo].[MatterLedger] ([MATTER], [BATCHNO], [PREF], [DATE], [REF], [NARR], [VALUED], [VALUEO], [VALUEC], [FEE], [PER], [YEAR], [ENTRYDATE], [CLIENT], [VALUECC], [VALUECD], [DEPOSITTYPE], [CURVALUED], [CURVALUEO], [CURVALUEC], [CURVALUECC], [CURVALUECD], [BILLED], [BILLINGYEAR], [BILLINGPERIOD], [BILLINGDATE], [BilledOutlayValue], [InvoiceNo], [IncludeInBill]) SELECT MLTOT.[MATTER], 0 AS BATCHNO, 0 AS PREF, convert(datetime, convert(varchar, getDate(), 106)) AS [DATE], LTrim(RTrim(IsNull(BAH.[REF], ''))), Substring( 'Invoice No: ' + LTrim(RTrim(IsNull(BAH.[REF], ''))) + ' Fee: ' + convert(varchar(20), MLTOT.[TOTALFEES]) + ' Outlay: ' + convert(varchar(20), MLTOT.[TOTALOUTLAY]) + ' See Matter: ' + LTrim(RTrim(MLTOT.[CompBillingMatter])), 1, 80) As [NARR], 0 As [VALUED], 0 As [VALUEO], 0 As [VALUEC], '' AS [FEE], 0 As [PER], 0 As [YEAR], convert(datetime, NULL) AS [ENTRYDATE], MLTOT.[CLIENTCODE] AS [CLIENT], 0 As [VALUECC], 0 As [VALUECD], '' AS [DEPOSITTYPE], 0 As [CURVALUED], 0 As [CURVALUEO], 0 As [CURVALUEC], 0 As [CURVALUECC], 0 As [CURVALUECD], '' AS [BILLED], NULL AS [BILLINGYEAR], NULL AS [BILLINGPERIOD], convert(datetime, NULL) AS [BILLINGDATE], 0 AS [BilledOutlayValue], NULL AS [InvoiceNo], 2 AS [IncludeInBill] FROM ( SELECT ML.[MATTER], MAT.[ClientCode], MAT.[CompBillingMatter], IsNull(SUM(CASE WHEN BGD.[Type] = 'F' THEN IsNull(BGD.[BillNow], 0) ELSE 0 END), 0) As TOTALFEES, IsNull(SUM(CASE WHEN BGD.[Type] = 'O' THEN IsNull(BGD.[BillNow], 0) ELSE 0 END), 0) As TOTALOutlay FROM ( SELECT DISTINCT BGDML.[MATTER], BGCML.[ID] FROM [dbo].[BGControl] BGCML INNER JOIN [dbo].[BGGroups] BGGML INNER JOIN [dbo].[BGDetail] BGDML ON BGDML.[BGGroupID] = BGGML.[ID] ON BGGML.[BGControlID] = BGCML.[ID] WHERE BGCML.[BatchNO] = @BatchNo AND BGDML.[BillNow] <> 0 AND IsNull(BGDML.[IncludeInBill], 1) <> 2 AND BGDML.[MATTER] <> BGCML.[MATTER]) ML INNER JOIN [dbo].[BGGroups] BGG INNER JOIN [dbo].[BGDetail] BGD ON BGD.[BGGroupID] = BGG.[ID] AND BGD.[BillNow] <> 0 AND IsNull(BGD.[IncludeInBill], 1) <> 2 ON BGG.[BGControlID] = ML.[ID] AND BGD.[matter] = ML.[MATTER] INNER JOIN [dbo].[MATTERS] MAT ON MAT.[Code] = ML.[MATTER] GROUP BY ML.[Matter], MAT.[ClientCode], MAT.[CompBillingMatter]) MLTOT INNER JOIN [dbo].[BATCHH] BAH ON BAH.[BATCHNO] = @BatchNo END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_SAMBillingGuideReset' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_SAMBillingGuideReset] END GO CREATE PROCEDURE [dbo].[KAAS_SAMBillingGuideReset] ( @BatchNo INT ) AS /******************************************************************************************************* * Reset Billing Guide * * * * Stored Procedure Name : [dbo].[KAAS_SAMBillingGuideReset] * * Copied From : [dbo].[ky_BGReset] * * * * Modification History: * * 2021-11-25 Balamurugan C Created * *******************************************************************************************************/ BEGIN DECLARE @NCOMMAND NVARCHAR(MAX) IF [dbo].[ISSAM4]() = 0 BEGIN SET @NCOMMAND = N' IF IsNull(@BatchNo, 0) <> 0 BEGIN UPDATE TEN SET TEN.[InvoiceNo] = ISNULL(BGD.[ORGInvoiceNo], 0), TEN.[BILLINGDATE] = BGD.[ORGBILLINGDATE], TEN.[BILLINGYEAR] = BGD.[ORGBILLINGYEAR], TEN.[BILLINGPERIOD] = BGD.[ORGBILLINGPERIOD], TEN.[IncludeInBill] = BGD.[ORGIncludeInBill], TEN.[BilledAmount] = TEN.[BilledAmount] - BGD.[BillNow] FROM [dbo].[BGControl] BGC INNER JOIN [dbo].[BGGroups] BGG INNER JOIN [dbo].[BGDetail] BGD INNER JOIN [dbo].[TimeEntry] TEN ON TEN.[RECORDID] = BGD.[OriginalID] ON BGD.[BGGroupID] = BGG.[ID] AND BGD.[Type] = ''F'' ON BGG.[BGControlID] = BGC.[ID] WHERE BGC.[BatchNO] = @BatchNo UPDATE MAL SET MAL.[InvoiceNo] = ISNULL(BGD.[ORGInvoiceNo], 0), MAL.[BILLINGDATE] = BGD.[ORGBILLINGDATE], MAL.[BILLINGYEAR] = BGD.[ORGBILLINGYEAR], MAL.[BILLINGPERIOD] = BGD.[ORGBILLINGPERIOD], MAL.[IncludeInBill] = BGD.[ORGIncludeInBill], MAL.[BilledOutlayValue] = MAL.[BilledOutlayValue] - BGD.[BillNow] FROM [dbo].[BGControl] BGC INNER JOIN [dbo].[BGGroups] BGG INNER JOIN [dbo].[BGDetail] BGD INNER JOIN [dbo].[MatterLedger] MAL ON MAL.[LREF] = BGD.[OriginalID] ON BGD.[BGGroupID] = BGG.[ID] AND BGD.[Type] = ''O'' ON BGG.[BGControlID] = BGC.[ID] WHERE BGC.[BATCHNO] = @BatchNo -- If these items were billed without a billing guide, the Billing Guide that was -- generated was an Ad Hoc billing guide that wasn''t configured by the user. In that -- case, delete it now. DELETE BGD from [dbo].[BGControl] BGC INNER JOIN [dbo].[BGGroups] BGG INNER JOIN [dbo].[BGDetail] BGD ON BGD.[BGGroupID] = BGG.[ID] ON BGG.[BGControlID] = BGC.[Id] WHERE BGC.[BatchNo] = @BatchNo AND BGC.[IsAdhoc] = 1 DELETE BGG from [dbo].[BGControl] BGC INNER JOIN [dbo].[BGGroups] BGG ON BGG.[BGControlID] = BGC.[Id] WHERE BGC.[BatchNo] = @BatchNo AND BGC.[IsAdhoc] = 1 DELETE BGC from [dbo].[BGControl] BGC WHERE BGC.[BatchNo] = @BatchNo AND BGC.[IsAdhoc] = 1 UPDATE MAT SET MAT.[CHARGEBAL] = GTOT.[BALAMOUNT], MAT.[TimeBal] = GTOT.[BALTIME] FROM ( SELECT GMAT.[code], IsNull(SUM( IsNull(TIE.[CHARGE], 0) - IsNull(TIE.[BILLEDAMOUNT], 0)), 0) AS [BALAMOUNT], IsNull(SUM(CASE WHEN IsNull(TIE.[CHARGE], 0) <> IsNull(TIE.[BILLEDAMOUNT], 0) THEN IsNull(TIE.[Time], 0) ELSE 0 END), 0) AS [BALTIME] FROM [dbo].[BatchH] BAH INNER JOIN [dbo].[Matters] GMAT LEFT OUTER JOIN [dbo].[TimeEntry] TIE ON TIE.[Matter] = GMAT.[code] AND TIE.[Charge] <> TIE.[BilledAmount] AND TIE.[Timeorcharge] IN (''T'', ''C'') AND TIE.[REC_IRR] <> ''N'' AND IsNull(TIE.[IncludeInBill], 1) <> 2 ON GMAT.[code] = BAH.[MATTER] OR GMAT.[CompBillingMatter] = BAH.[MATTER] WHERE BAH.[BATCHNO] = @BatchNo GROUP BY GMAT.[code]) GTOT INNER JOIN [dbo].[Matters] MAT ON MAT.[code] = GTOT.[code] EXEC [dbo].[ky_BGPaid] NULL, @BatchNo, 0, 0, 0 END' EXECUTE sp_executesql @NCOMMAND, N'@BatchNo INT', @BatchNo END END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_SAMBillingGuideReverseTransfer' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_SAMBillingGuideReverseTransfer] END GO CREATE PROCEDURE [dbo].[KAAS_SAMBillingGuideReverseTransfer] ( @BatchNo INT ) AS /******************************************************************************************************* * Billing Guide Reverse Transfer * * * * Stored Procedure Name : [dbo].[KAAS_SAMBillingGuideReverseTransfer] * * Copied From : [dbo].[ky_BGReverseTransfer] * * * * Modification History: * * 2021-11-25 Balamurugan C Created * *******************************************************************************************************/ BEGIN DECLARE @CRBatchNo int DECLARE @NewBatchNo int DECLARE @LastBatchHPREF int DECLARE @LastBatchDPREF int DECLARE @OUTLAY char(10) DECLARE @OVAT char(1) DECLARE @BASECUR char(1) DECLARE @IECONVERT decimal(9, 6) DECLARE @DETVALUE decimal(17, 2) DECLARE @DETMATTER char(11) DECLARE @DETNo int DECLARE @DETTotal int DECLARE @INVOICENO int DECLARE @DETs TABLE ([seqno] int identity(1, 1), [DETVALUE] decimal(17, 2), [DETMATTER] VARCHAR(20)) SELECT @CRBatchNo = BHC.[CreditInvoiceNo] FROM [dbo].[BATCHH] BHC WHERE BHC.[BATCHNO] = @BatchNo SELECT @INVOICENO = CASE WHEN IsNumeric(BAH.[REF]) = 1 THEN convert(int, BAH.[REF]) ELSE 0 END FROM [dbo].[BATCHH] BAH WHERE BAH.[BATCHNO] = @BATCHNO UPDATE CON SET @NewBatchNo = IsNull(CON.[LASTBATCH], 0) + 1, CON.[LASTBATCH] = IsNull(CON.[LASTBATCH], 0) + 1, @LastBatchHPREF = IsNull(CON.[LASTPREF], 0) + 1, CON.[LASTPREF] = IsNull(CON.[LASTPREF], 0) + 1 FROM [dbo].[control] CON INSERT INTO [dbo].[BATCHH] ([BATCHNO], [POSTFWD], [TYPE], [CODE], [BRANCH], [PREF], [REF], [DATE], [FEE], [MATTER], [SUPP], [NARR], [VALUE], [SUBTOT], [POSTED], [CLIENTAC], [PERNO], [YEAR], [PAYEE], [OUTLAYTOT], [VATTOT], [FEETOT], [INVCR], [THIRDPARTY], [USERCODE], [HandlerCode], [ENTRYDATE], [CURRENCY], [CURRENCYVALUE], [CUROUTLAYTOT], [CURVATTOT], [CURFEETOT], [RECNO], [SINGLELINE], [TEMPLATE], [CHEQUEREQNO], [WRITEDOWN], [WRITEBACKHOURS], [WRITEBACKVALUE], [CORRECTCOPY]) select @NewBatchNo As [BATCHNO], BAH.[POSTFWD] AS [POSTFWD], convert(char(1), 'J') AS [TYPE], convert(char(10), '') AS [CODE], convert(varchar(3), '') AS [BRANCH], @LastBatchHPREF AS [PREF], convert(char(10), 'xCompBill') AS [REF], BCN.[DATE] AS [DATE], BAH.[FEE] AS [FEE], BAH.[MATTER] AS [MATTER], convert(char(10), '') AS [SUPP], convert(char(150), 'Composite Bill Outlay Transfer') AS [NARR], convert(decimal(17,2), 0) As [VALUE], convert(decimal(17,2), 0) As [SUBTOT], convert(char(1), 'Y') AS [POSTED], convert(char(1), 'N') AS [CLIENTAC], BAH.[PERNO] AS [PERNO], BAH.[YEAR] AS [YEAR], convert(char(60), '') AS [PAYEE], convert(decimal(17,2), 0) AS [OUTLAYTOT], convert(decimal(17,2), 0) AS [VATTOT], convert(decimal(17,2), 0) AS [FEETOT], convert(char(1), 'I') AS [INVCR], convert(char(1), 'N') AS [THIRDPARTY], BAH.[USERCODE] AS [USERCODE], BAH.[HandlerCode] AS [HandlerCode], convert(datetime, convert(varchar, getDate(), 106)) AS [ENTRYDATE], BAH.[CURRENCY] AS [CURRENCY], convert(decimal(17,2), 0) AS [CURRENCYVALUE], convert(decimal(17,2), 0) AS [CUROUTLAYTOT], convert(decimal(17,2), 0) AS [CURVATTOT], convert(decimal(17,2), 0) AS [CURFEETOT], convert(int, 0) AS [RECNO], convert(char(1), '') AS [SINGLELINE], convert(char(10), '') AS [TEMPLATE], convert(int, 0) AS [CHEQUEREQNO], convert(datetime, NULL) AS [WRITEDOWN], convert(decimal(7,2), 0) AS [WRITEBACKHOURS], convert(decimal(13,2), 0) AS [WRITEBACKVALUE], convert(char(1), 0) AS [CORRECTCOPY] FROM [dbo].[BatchH] BAH INNER JOIN [dbo].[BatchH] BCN ON BCN.[BATCHNO] = @CRBatchNo WHERE BAH.[BATCHNO] = @BatchNo INSERT INTO @DETs ([DETMATTER], [DETVALUE]) SELECT BGM.[MATTER], -ISNULL(SUM(ISNULL(BGD.[BillNow], 0)), 0) AS [BILLNOW] FROM [dbo].[ky_CompBillMatterByBatch](@CRBatchNo) BGM INNER JOIN [dbo].[BGDetail] BGD ON BGD.[BGGroupID] = BGM.[ID] AND BGD.[Matter] = BGM.[Matter] GROUP BY BGM.[Matter] SELECT @DETTotal = COUNT(1) FROM @DETs SET @DETNo = 1 WHILE @DETNo <= @DETTotal BEGIN SET @DETMATTER = '' SET @DETVALUE = 0 SELECT @DETMATTER = DET.[DETMATTER], @DETVALUE = DET.[DETVALUE] FROM @DETs DET WHERE DET.[seqno] = @DETNo SET @DETVALUE = ISNULL(@DETVALUE, 0) UPDATE CON SET @LastBatchDPREF = IsNull(CON.[LASTPREF], 0) + 1, CON.[LASTPREF] = IsNull(CON.[LASTPREF], 0) + 1, @OUTLAY = CON.[OUTLAY], @OVAT = CON.[VATEXCLUDE], @BASECUR = CON.[BASECURRENCY], @IECONVERT = CON.[IECONVERT] FROM [dbo].[control] CON INSERT INTO [dbo].[BatchDetails] ([BATCHNO], [TYPE], [CODE], [PREF], [REF], [DATE], [FEE], [BRANCH], [SUPP], [NARR], [MATTER], [VALUE], [VATCODE], [VATVAL], [CLIENTYN], [OUTLAY], [PENDING], [YEAR], [PERNO], [ENTRYCURRENCY], [CURRENCYVALUE], [CURRENCYVAT], [OUTLAYCODE], [THIRDPARTY], [PAYEE], [HEADPREF], [HEADBATCH], [ALLOCBATCH], [ALLOCPREF], [ALLOCREF], [ALLOCVALUE], [ALLOCWRITEOFF], [PSUPP], [UNDETAKING]) SELECT @NewBatchNo As [BATCHNO], convert(char(1), 'J') AS [TYPE], @OUTLAY AS [CODE], @LastBatchDPREF AS [PREF], convert(char(10), 'xCompTFer') AS [REF], BAH.[DATE] AS [DATE], convert(char(3), '') AS FEE, convert(varchar(3), '') AS BRANCH, convert(char(10), '') AS [SUPP], convert(char(150), 'COMP: CREDIT Outlay Transfer from ' + BAH.[MATTER]) AS [NARR], convert(char(11), @DETMATTER) AS [MATTER], -@DETVALUE As [VALUE], @OVAT AS [VATCODE], convert(decimal(17,2), 0) As [VATVAL], convert(char(1), 'N') AS [CLIENTYN], convert(char(1), 'O') AS [OUTLAY], convert(char(1), '') AS [PENDING], BAH.[YEAR] AS [YEAR], BAH.[PERNO] AS [PERNO], @BASECUR AS [ENTRYCURRENCY], convert(decimal(17, 2), round((-@DETVALUE) * @IECONVERT, 2)) AS [CURRENCYVALUE], convert(decimal(17,2), 0) As [CURRENCYVAT], convert(char(4), '') AS [OUTLAYCODE], convert(char(1), '') AS [THIRDPARTY], convert(char(60), '') AS [PAYEE], convert(int, 0) AS [HEADPREF], convert(int, 0) AS [HEADBATCH], convert(int, 0) AS [ALLOCBATCH], convert(int, 0) AS [ALLOCPREF], convert(char(10), '') AS [ALLOCREF], convert(decimal(17, 2), 0) AS [ALLOCVALUE], convert(char(1), '') AS [ALLOCWRITEOFF], convert(char(10), '') AS [PSUPP], convert(smallint, 0) AS [UNDETAKING] FROM [dbo].[BATCHH] BAH WHERE BAH.[PREF] = @LastBatchHPRef --UPDATE CON -- SET @LastBatchDPREF = IsNull(CON.[LASTPREF], 0) + 1, -- CON.[LASTPREF] = IsNull(CON.[LASTPREF], 0) + 1 -- FROM [dbo].[control] CON INSERT INTO [dbo].[MatterLedger] ([MATTER], [BATCHNO], [PREF], [DATE], [REF], [NARR], [VALUED], [VALUEO], [VALUEC], [FEE], [PER], [YEAR], [ENTRYDATE], [CLIENT], [VALUECC], [VALUECD], [DEPOSITTYPE], [CURVALUED], [CURVALUEO], [CURVALUEC], [CURVALUECC], [CURVALUECD], [BILLED], [BILLINGYEAR], [BILLINGPERIOD], [BILLINGDATE], [BILLEDOUTLAYVALUE], [InvoiceNo], [IncludeInBill]) SELECT convert(char(11), @DETMATTER) AS [MATTER], @NewBatchNo As [BATCHNO], @LastBatchDPREF AS [PREF], BAH.[DATE] AS [DATE], convert(char(10), 'xCompTFer') AS [REF], convert(char(80), 'COMP: CREDIT Outlay Transfer from ' + BAH.[MATTER]) AS [NARR], convert(decimal(17, 2), 0) AS [VALUED], convert(decimal(17, 2), -@DETVALUE) AS [VALUEO], convert(decimal(17, 2), 0) AS [VALUEC], convert(char(3), '') AS FEE, BAH.[PERNO] AS [PER], BAH.[YEAR] AS [YEAR], BAH.[DATE] AS [ENTRYDATE], MAT.[CLIENTCODE] AS [CLIENT], convert(decimal(17, 2), 0) AS [VALUECC], convert(decimal(17, 2), 0) AS [VALUECD], convert(char(4), '') AS [DEPOSITTYPE], convert(decimal(17, 2), 0) AS [CURVALUED], convert(decimal(17, 2), round((-@DETVALUE) * @IECONVERT, 2)) AS [CURVALUEO], convert(decimal(17, 2), 0) AS [CURVALUED], convert(decimal(17, 2), 0) AS [CURVALUECC], convert(decimal(17, 2), 0) AS [CURVALUECD], convert(char(1), '') AS [BILLED], BAH.[YEAR] AS [BILLINGYEAR], BAH.[PERNO] AS [BILLINGPERIOD], BAH.[DATE] AS [BILLINGDATE], convert(decimal(17, 2), -@DETVALUE) AS [BILLEDOUTLAYVALUE], @INVOICENO AS [Invoiceno], convert(int, 2) AS [IncludeInBill] FROM [dbo].[BATCHH] BAH INNER JOIN [dbo].[MATTERS] MAT ON MAT.[CODE] = @DETMATTER WHERE BAH.[PREF] = @LastBatchHPRef --UPDATE CON -- SET @LastBatchDPREF = IsNull(CON.[LASTPREF], 0) + 1, -- CON.[LASTPREF] = IsNull(CON.[LASTPREF], 0) + 1 -- FROM [dbo].[control] CON INSERT INTO [dbo].[NominalLedger] ([CODE], [BRANCH], [BATCHNO], [PREF], [DATE], [REF], [NARR], [MATTER], [SUPP], [FEE], [VALUE], [CURRENCYVALUE], [PER], [YEAR], [ENTRYDATE], [RECNO]) SELECT @OUTLAY AS [CODE], convert(varchar(3), '') AS [BRANCH], @NewBatchNo As [BATCHNO], @LastBatchDPREF AS [PREF], BAH.[DATE] AS [DATE], convert(char(10), 'xCompTFer') AS [REF], convert(char(100), 'COMP: CREDIT Outlay Transfer from ' + BAH.[MATTER]) AS [NARR], convert(char(11), @DETMATTER) AS [MATTER], convert(char(10), '') AS [SUPP], convert(char(3), '') AS FEE, convert(decimal(17, 2), -@DETVALUE) AS [VALUE], convert(decimal(17, 2), round((-@DETVALUE) * @IECONVERT, 2)) AS [CURRENCYVALUE], BAH.[PERNO] AS [PER], BAH.[YEAR] AS [YEAR], BAH.[DATE] AS [ENTRYDATE], convert(int, 0) AS [RECNO] FROM [dbo].[BATCHH] BAH INNER JOIN [dbo].[MATTERS] MAT ON MAT.[CODE] = @DETMATTER WHERE BAH.[PREF] = @LastBatchHPRef UPDATE MAT SET MAT.[OutlayBal] = MAT.[OutlayBal] - @DETVALUE, MAT.[CurOutlayBal] = round((MAT.[OutlayBal] - @DETVALUE) * @IECONVERT, 2), MAT.[OutlayBalFwd] = MAT.[OutlayBalFwd] - @DETVALUE, MAT.[CurOutlayBalFwd] = round((MAT.[OutlayBalFwd] - @DETVALUE) * @IECONVERT, 2) FROM [dbo].[matters] MAT WHERE MAT.[CODE] = @DETMATTER SET @DETNo = @DETNo + 1 END UPDATE CON SET @LastBatchDPREF = IsNull(CON.[LASTPREF], 0) + 1, CON.[LASTPREF] = IsNull(CON.[LASTPREF], 0) + 1, @OUTLAY = CON.[OUTLAY], @OVAT = CON.[VATEXCLUDE], @BASECUR = CON.[BASECURRENCY], @IECONVERT = CON.[IECONVERT] FROM [dbo].[control] CON INSERT INTO [dbo].[BatchDetails] ([BATCHNO], [TYPE], [CODE], [PREF], [REF], [DATE], [FEE], [BRANCH], [SUPP], [NARR], [MATTER], [VALUE], [VATCODE], [VATVAL], [CLIENTYN], [OUTLAY], [PENDING], [YEAR], [PERNO], [ENTRYCURRENCY], [CURRENCYVALUE], [CURRENCYVAT], [OUTLAYCODE], [THIRDPARTY], [PAYEE], [HEADPREF], [HEADBATCH], [ALLOCBATCH], [ALLOCPREF], [ALLOCREF], [ALLOCVALUE], [ALLOCWRITEOFF], [PSUPP], [UNDETAKING]) SELECT @NewBatchNo As [BATCHNO], convert(char(1), 'J') AS [TYPE], @OUTLAY AS [CODE], @LastBatchDPREF AS [PREF], convert(char(10), 'xCompTFer') AS [REF], BAH.[DATE] AS [DATE], convert(char(3), '') AS FEE, convert(varchar(3), '') AS BRANCH, convert(char(10), '') AS [SUPP], convert(char(150), 'Composite Billing') AS [NARR], BAH.[MATTER] AS [MATTER], TOT.[BILLNOW] As [VALUE], @OVAT AS [VATCODE], convert(decimal(17,2), 0) As [VATVAL], convert(char(1), 'N') AS [CLIENTYN], convert(char(1), 'O') AS [OUTLAY], convert(char(1), '') AS [PENDING], BAH.[YEAR] AS [YEAR], BAH.[PERNO] AS [PERNO], @BASECUR AS [ENTRYCURRENCY], convert(decimal(17, 2), round((TOT.[BILLNOW]) * @IECONVERT, 2)) AS [CURRENCYVALUE], convert(decimal(17,2), 0) As [CURRENCYVAT], convert(char(4), '') AS [OUTLAYCODE], convert(char(1), '') AS [THIRDPARTY], convert(char(60), '') AS [PAYEE], convert(int, 0) AS [HEADPREF], convert(int, 0) AS [HEADBATCH], convert(int, 0) AS [ALLOCBATCH], convert(int, 0) AS [ALLOCPREF], convert(char(10), '') AS [ALLOCREF], convert(decimal(17, 2), 0) AS [ALLOCVALUE], convert(char(1), '') AS [ALLOCWRITEOFF], convert(char(10), '') AS [PSUPP], convert(smallint, 0) AS [UNDETAKING] FROM [dbo].[BATCHH] BAH CROSS JOIN( SELECT -ISNULL(SUM(ISNULL(BGD.[BillNow], 0)), 0) AS [BILLNOW] FROM [dbo].[ky_CompBillMatterByBatch](@CRBatchNo) BGM INNER JOIN [dbo].[BGDetail] BGD ON BGD.[BGGroupID] = BGM.[ID] AND BGD.[Matter] = BGM.[Matter]) TOT WHERE BAH.[PREF] = @LastBatchHPRef --UPDATE CON -- SET @LastBatchDPREF = IsNull(CON.[LASTPREF], 0) + 1, -- CON.[LASTPREF] = IsNull(CON.[LASTPREF], 0) + 1 -- FROM [dbo].[control] CON INSERT INTO [dbo].[MatterLedger] ([MATTER], [BATCHNO], [PREF], [DATE], [REF], [NARR], [VALUED], [VALUEO], [VALUEC], [FEE], [PER], [YEAR], [ENTRYDATE], [CLIENT], [VALUECC], [VALUECD], [DEPOSITTYPE], [CURVALUED], [CURVALUEO], [CURVALUEC], [CURVALUECC], [CURVALUECD], [BILLED], [BILLINGYEAR], [BILLINGPERIOD], [BILLINGDATE], [BILLEDOUTLAYVALUE], [InvoiceNo], [IncludeInBill]) SELECT convert(char(11), BAH.[MATTER]) AS [MATTER], @NewBatchNo As [BATCHNO], @LastBatchDPREF AS [PREF], BAH.[DATE] AS [DATE], convert(char(10), 'xCompTFer') AS [REF], convert(char(80), 'Composite Billing') AS [NARR], convert(decimal(17, 2), 0) AS [VALUED], convert(decimal(17, 2), ISNULL(TOT.[BILLNOW], 0)) AS [VALUEO], convert(decimal(17, 2), 0) AS [VALUEC], convert(char(3), '') AS FEE, BAH.[PERNO] AS [PER], BAH.[YEAR] AS [YEAR], BAH.[DATE] AS [ENTRYDATE], MAT.[CLIENTCODE] AS [CLIENT], convert(decimal(17, 2), 0) AS [VALUECC], convert(decimal(17, 2), 0) AS [VALUECD], convert(char(4), '') AS [DEPOSITTYPE], convert(decimal(17, 2), 0) AS [CURVALUED], convert(decimal(17, 2), round((TOT.[BILLNOW]) * @IECONVERT, 2)) AS [CURVALUEO], convert(decimal(17, 2), 0) AS [CURVALUED], convert(decimal(17, 2), 0) AS [CURVALUECC], convert(decimal(17, 2), 0) AS [CURVALUECD], convert(char(1), '') AS [BILLED], BAH.[YEAR] AS [BILLINGYEAR], BAH.[PERNO] AS [BILLINGPERIOD], BAH.[DATE] AS [BILLINGDATE], convert(decimal(17, 2), TOT.[BILLNOW]) AS [BILLEDOUTLAYVALUE], @INVOICENO AS [Invoiceno], convert(int, 2) AS [IncludeInBill] FROM [dbo].[BATCHH] BAH INNER JOIN [dbo].[MATTERS] MAT ON MAT.[CODE] = BAH.[MATTER] CROSS JOIN( SELECT -ISNULL(SUM(ISNULL(BGD.[BillNow], 0)), 0) AS [BILLNOW] FROM [dbo].[ky_CompBillMatterByBatch](@CRBatchNo) BGM INNER JOIN [dbo].[BGDetail] BGD ON BGD.[BGGroupID] = BGM.[ID] AND BGD.[Matter] = BGM.[Matter]) TOT WHERE BAH.[PREF] = @LastBatchHPRef -- UPDATE CON -- SET @LastBatchDPREF = IsNull(CON.[LASTPREF], 0) + 1, -- CON.[LASTPREF] = IsNull(CON.[LASTPREF], 0) + 1 -- FROM [dbo].[control] CON INSERT INTO [dbo].[NominalLedger] ([CODE], [BRANCH], [BATCHNO], [PREF], [DATE], [REF], [NARR], [MATTER], [SUPP], [FEE], [VALUE], [CURRENCYVALUE], [PER], [YEAR], [ENTRYDATE], [RECNO]) SELECT @OUTLAY AS [CODE], convert(varchar(3), '') AS [BRANCH], @NewBatchNo As [BATCHNO], @LastBatchDPREF AS [PREF], BAH.[DATE] AS [DATE], convert(char(10), 'xCompTFer') AS [REF], convert(char(100), 'Composite Billing') AS [NARR], convert(char(11), BAH.[MATTER]) AS [MATTER], convert(char(10), '') AS [SUPP], convert(char(3), '') AS FEE, convert(decimal(17, 2), TOT.[BILLNOW]) AS [VALUE], convert(decimal(17, 2), round((TOT.[BILLNOW]) * @IECONVERT, 2)) AS [CURRENCYVALUE], BAH.[PERNO] AS [PER], BAH.[YEAR] AS [YEAR], BAH.[DATE] AS [ENTRYDATE], convert(int, 0) AS [RECNO] FROM [dbo].[BATCHH] BAH INNER JOIN [dbo].[MATTERS] MAT ON MAT.[CODE] = BAH.MATTER CROSS JOIN( SELECT -ISNULL(SUM(ISNULL(BGD.[BillNow], 0)), 0) AS [BILLNOW] FROM [dbo].[ky_CompBillMatterByBatch](@CRBatchNo) BGM INNER JOIN [dbo].[BGDetail] BGD ON BGD.[BGGroupID] = BGM.[ID] AND BGD.[Matter] = BGM.[Matter]) TOT WHERE BAH.[PREF] = @LastBatchHPRef UPDATE MAT SET MAT.[OutlayBal] = MAT.[OutlayBal] + ISNULL(TOT.[BILLNOW], 0), MAT.[CurOutlayBal] = round((MAT.[OutlayBal] + TOT.[BILLNOW]) * @IECONVERT, 2), MAT.[OutlayBalFwd] = MAT.[OutlayBalFwd] + TOT.[BILLNOW], MAT.[CurOutlayBalFwd] = round((MAT.[OutlayBalFwd] + TOT.[BILLNOW]) * @IECONVERT, 2) FROM [dbo].[BATCHH] BAH INNER JOIN [dbo].[matters] MAT ON MAT.[Code] = BAH.[MATTER] CROSS JOIN( SELECT -ISNULL(SUM(ISNULL(BGD.[BillNow], 0)), 0) AS [BILLNOW] FROM [dbo].[ky_CompBillMatterByBatch](@CRBatchNo) BGM INNER JOIN [dbo].[BGDetail] BGD ON BGD.[BGGroupID] = BGM.[ID] AND BGD.[Matter] = BGM.[Matter]) TOT WHERE BAH.[PREF] = @LastBatchHPRef END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_SAMBillingGuideTransfer' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_SAMBillingGuideTransfer] END GO CREATE PROCEDURE [dbo].[KAAS_SAMBillingGuideTransfer] ( @BatchNo INT ) AS /******************************************************************************************************* * Transfer Billing Guide * * * * Stored Procedure Name : [dbo].[KAAS_SAMBillingGuideTransfer] * * Copied From : [dbo].[ky_BGTransfer] * * * * Modification History: * * 2021-11-25 Balamurugan C Created * *******************************************************************************************************/ BEGIN DECLARE @NewBatchNo int DECLARE @LastBatchHPREF int DECLARE @LastBatchDPREF int DECLARE @OUTLAY char(10) DECLARE @OVAT char(1) DECLARE @BASECUR char(1) DECLARE @IECONVERT decimal(9, 6) DECLARE @DETVALUE decimal(17, 2) DECLARE @DETMATTER VARCHAR(20) DECLARE @DETNo int DECLARE @DETTotal int DECLARE @INVOICENO int DECLARE @DETs TABLE ([seqno] int identity(1, 1), [DETVALUE] decimal(17, 2), [DETMATTER] VARCHAR(20)) SELECT @INVOICENO = CASE WHEN IsNumeric(BAH.[REF]) = 1 THEN convert(int, BAH.[REF]) ELSE 0 END FROM [dbo].[BATCHH] BAH WHERE BAH.[BATCHNO] = @BATCHNO UPDATE CON SET @NewBatchNo = IsNull(CON.[LASTBATCH], 0) + 1, CON.[LASTBATCH] = IsNull(CON.[LASTBATCH], 0) + 1, @LastBatchHPREF = IsNull(CON.[LASTPREF], 0) + 1, CON.[LASTPREF] = IsNull(CON.[LASTPREF], 0) + 1 FROM [dbo].[control] CON INSERT INTO [dbo].[BATCHH] ([BATCHNO], [POSTFWD], [TYPE], [CODE], [BRANCH], [PREF], [REF], [DATE], [FEE], [MATTER], [SUPP], [NARR], [VALUE], [SUBTOT], [POSTED], [CLIENTAC], [PERNO], [YEAR], [PAYEE], [OUTLAYTOT], [VATTOT], [FEETOT], [INVCR], [THIRDPARTY], [USERCODE], [HandlerCode], [ENTRYDATE], [CURRENCY], [CURRENCYVALUE], [CUROUTLAYTOT], [CURVATTOT], [CURFEETOT], [RECNO], [SINGLELINE], [TEMPLATE], [CHEQUEREQNO], [WRITEDOWN], [WRITEBACKHOURS], [WRITEBACKVALUE], [CORRECTCOPY]) select @NewBatchNo As [BATCHNO], BAH.[POSTFWD] AS [POSTFWD], convert(char(1), 'J') AS [TYPE], convert(char(10), '') AS [CODE], convert(varchar(3), '') AS [BRANCH], @LastBatchHPREF AS [PREF], convert(char(10), 'xCompBill') AS [REF], BAH.[DATE] AS [DATE], BAH.[FEE] AS [FEE], BAH.[MATTER] AS [MATTER], convert(char(10), '') AS [SUPP], convert(char(150), 'Composite Bill Outlay Transfer') AS [NARR], convert(decimal(17,2), 0) As [VALUE], convert(decimal(17,2), 0) As [SUBTOT], convert(char(1), 'Y') AS [POSTED], convert(char(1), 'N') AS [CLIENTAC], BAH.[PERNO] AS [PERNO], BAH.[YEAR] AS [YEAR], convert(char(60), '') AS [PAYEE], convert(decimal(17,2), 0) AS [OUTLAYTOT], convert(decimal(17,2), 0) AS [VATTOT], convert(decimal(17,2), 0) AS [FEETOT], convert(char(1), 'I') AS [INVCR], convert(char(1), 'N') AS [THIRDPARTY], BAH.[USERCODE] AS [USERCODE], BAH.[HandlerCode] AS [HandlerCode], convert(datetime, convert(varchar, getDate(), 106)) AS [ENTRYDATE], BAH.[CURRENCY] AS [CURRENCY], convert(decimal(17,2), 0) AS [CURRENCYVALUE], convert(decimal(17,2), 0) AS [CUROUTLAYTOT], convert(decimal(17,2), 0) AS [CURVATTOT], convert(decimal(17,2), 0) AS [CURFEETOT], convert(int, 0) AS [RECNO], convert(char(1), '') AS [SINGLELINE], convert(char(10), '') AS [TEMPLATE], convert(int, 0) AS [CHEQUEREQNO], convert(datetime, NULL) AS [WRITEDOWN], convert(decimal(7,2), 0) AS [WRITEBACKHOURS], convert(decimal(13,2), 0) AS [WRITEBACKVALUE], convert(char(1), 0) AS [CORRECTCOPY] FROM [dbo].[BatchH] BAH WHERE [BATCHNO] = @BatchNo INSERT INTO @DETs ([DETMATTER], [DETVALUE]) SELECT BGM.[MATTER], ISNULL(SUM(ISNULL(BGD.[BillNow], 0)), 0) AS [BILLNOW] FROM [dbo].[ky_CompBillMatterByBatch](@BatchNo) BGM INNER JOIN [dbo].[BGDetail] BGD ON BGD.[BGGroupID] = BGM.[ID] AND BGD.[Matter] = BGM.[Matter] GROUP BY BGM.[Matter] SELECT @DETTotal = COUNT(1) FROM @DETs SET @DETNo = 1 WHILE @DETNo <= @DETTotal BEGIN SET @DETMATTER = '' SET @DETVALUE = 0 SELECT @DETMATTER = DET.[DETMATTER], @DETVALUE = ISNULL(DET.[DETVALUE], 0) FROM @DETs DET WHERE DET.[seqno] = @DETNo SET @DETVALUE = ISNULL(@DETVALUE, 0) UPDATE CON SET @LastBatchDPREF = IsNull(CON.[LASTPREF], 0) + 1, CON.[LASTPREF] = IsNull(CON.[LASTPREF], 0) + 1, @OUTLAY = CON.[OUTLAY], @OVAT = CON.[VATEXCLUDE], @BASECUR = CON.[BASECURRENCY], @IECONVERT = CON.[IECONVERT] FROM [dbo].[control] CON INSERT INTO [dbo].[BatchDetails] ([BATCHNO], [TYPE], [CODE], [PREF], [REF], [DATE], [FEE], [BRANCH], [SUPP], [NARR], [MATTER], [VALUE], [VATCODE], [VATVAL], [CLIENTYN], [OUTLAY], [PENDING], [YEAR], [PERNO], [ENTRYCURRENCY], [CURRENCYVALUE], [CURRENCYVAT], [OUTLAYCODE], [THIRDPARTY], [PAYEE], [HEADPREF], [HEADBATCH], [ALLOCBATCH], [ALLOCPREF], [ALLOCREF], [ALLOCVALUE], [ALLOCWRITEOFF], [PSUPP], [UNDETAKING]) SELECT @NewBatchNo As [BATCHNO], convert(char(1), 'J') AS [TYPE], @OUTLAY AS [CODE], @LastBatchDPREF AS [PREF], convert(char(10), 'xCompTFer') AS [REF], BAH.[DATE] AS [DATE], convert(char(3), '') AS FEE, convert(varchar(3), '') AS BRANCH, convert(char(10), '') AS [SUPP], convert(char(150), 'COMP: Outlay Transfer to ' + BAH.[MATTER]) AS [NARR], convert(char(11), @DETMATTER) AS [MATTER], -@DETVALUE As [VALUE], @OVAT AS [VATCODE], convert(decimal(17,2), 0) As [VATVAL], convert(char(1), 'N') AS [CLIENTYN], convert(char(1), 'O') AS [OUTLAY], convert(char(1), '') AS [PENDING], BAH.[YEAR] AS [YEAR], BAH.[PERNO] AS [PERNO], @BASECUR AS [ENTRYCURRENCY], convert(decimal(17, 2), round((-@DETVALUE) * @IECONVERT, 2)) AS [CURRENCYVALUE], convert(decimal(17,2), 0) As [CURRENCYVAT], convert(char(4), '') AS [OUTLAYCODE], convert(char(1), '') AS [THIRDPARTY], convert(char(60), '') AS [PAYEE], convert(int, 0) AS [HEADPREF], convert(int, 0) AS [HEADBATCH], convert(int, 0) AS [ALLOCBATCH], convert(int, 0) AS [ALLOCPREF], convert(char(10), '') AS [ALLOCREF], convert(decimal(17, 2), 0) AS [ALLOCVALUE], convert(char(1), '') AS [ALLOCWRITEOFF], convert(char(10), '') AS [PSUPP], convert(smallint, 0) AS [UNDETAKING] FROM [dbo].[BATCHH] BAH WHERE BAH.[PREF] = @LastBatchHPRef --UPDATE CON -- SET @LastBatchDPREF = IsNull(CON.[LASTPREF], 0) + 1, -- CON.[LASTPREF] = IsNull(CON.[LASTPREF], 0) + 1 -- FROM [dbo].[control] CON INSERT INTO [dbo].[MatterLedger] ([MATTER], [BATCHNO], [PREF], [DATE], [REF], [NARR], [VALUED], [VALUEO], [VALUEC], [FEE], [PER], [YEAR], [ENTRYDATE], [CLIENT], [VALUECC], [VALUECD], [DEPOSITTYPE], [CURVALUED], [CURVALUEO], [CURVALUEC], [CURVALUECC], [CURVALUECD], [BILLED], [BILLINGYEAR], [BILLINGPERIOD], [BILLINGDATE], [BILLEDOUTLAYVALUE], [InvoiceNo], [IncludeInBill]) SELECT convert(char(11), @DETMATTER) AS [MATTER], @NewBatchNo As [BATCHNO], @LastBatchDPREF AS [PREF], BAH.[DATE] AS [DATE], convert(char(10), 'xCompTFer') AS [REF], convert(char(80), 'COMP: Outlay Transfer to ' + BAH.[MATTER]) AS [NARR], convert(decimal(17, 2), 0) AS [VALUED], convert(decimal(17, 2), -@DETVALUE) AS [VALUEO], convert(decimal(17, 2), 0) AS [VALUEC], convert(char(3), '') AS FEE, BAH.[PERNO] AS [PER], BAH.[YEAR] AS [YEAR], BAH.[DATE] AS [ENTRYDATE], MAT.[CLIENTCODE] AS [CLIENT], convert(decimal(17, 2), 0) AS [VALUECC], convert(decimal(17, 2), 0) AS [VALUECD], convert(char(4), '') AS [DEPOSITTYPE], convert(decimal(17, 2), 0) AS [CURVALUED], convert(decimal(17, 2), round((-@DETVALUE) * @IECONVERT, 2)) AS [CURVALUEO], convert(decimal(17, 2), 0) AS [CURVALUED], convert(decimal(17, 2), 0) AS [CURVALUECC], convert(decimal(17, 2), 0) AS [CURVALUECD], convert(char(1), '') AS [BILLED], BAH.[YEAR] AS [BILLINGYEAR], BAH.[PERNO] AS [BILLINGPERIOD], BAH.[DATE] AS [BILLINGDATE], convert(decimal(17, 2), -@DETVALUE) AS [BILLEDOUTLAYVALUE], @INVOICENO AS [Invoiceno], convert(int, 2) AS [IncludeInBill] FROM [dbo].[BATCHH] BAH INNER JOIN [dbo].[MATTERS] MAT ON MAT.[CODE] = @DETMATTER WHERE BAH.[PREF] = @LastBatchHPRef --UPDATE CON -- SET @LastBatchDPREF = IsNull(CON.[LASTPREF], 0) + 1, -- CON.[LASTPREF] = IsNull(CON.[LASTPREF], 0) + 1 -- FROM [dbo].[control] CON INSERT INTO [dbo].[NominalLedger] ([CODE], [BRANCH], [BATCHNO], [PREF], [DATE], [REF], [NARR], [MATTER], [SUPP], [FEE], [VALUE], [CURRENCYVALUE], [PER], [YEAR], [ENTRYDATE], [RECNO]) SELECT @OUTLAY AS [CODE], convert(varchar(3), '') AS [BRANCH], @NewBatchNo As [BATCHNO], @LastBatchDPREF AS [PREF], BAH.[DATE] AS [DATE], convert(char(10), 'xCompTFer') AS [REF], convert(char(100), 'COMP: Outlay Transfer to ' + BAH.[MATTER]) AS [NARR], convert(char(11), @DETMATTER) AS [MATTER], convert(char(10), '') AS [SUPP], convert(char(3), '') AS FEE, convert(decimal(17, 2), -@DETVALUE) AS [VALUE], convert(decimal(17, 2), round((-@DETVALUE) * @IECONVERT, 2)) AS [CURRENCYVALUE], BAH.[PERNO] AS [PER], BAH.[YEAR] AS [YEAR], BAH.[DATE] AS [ENTRYDATE], convert(int, 0) AS [RECNO] FROM [dbo].[BATCHH] BAH INNER JOIN [dbo].[MATTERS] MAT ON MAT.[CODE] = @DETMATTER WHERE BAH.[PREF] = @LastBatchHPRef UPDATE MAT SET MAT.[OutlayBal] = MAT.[OutlayBal] - @DETVALUE, MAT.[CurOutlayBal] = round((MAT.[OutlayBal] - @DETVALUE) * @IECONVERT, 2), MAT.[OutlayBalFwd] = MAT.[OutlayBalFwd] - @DETVALUE, MAT.[CurOutlayBalFwd] = round((MAT.[OutlayBalFwd] - @DETVALUE) * @IECONVERT, 2) FROM [dbo].[matters] MAT WHERE MAT.[CODE] = @DETMATTER SET @DETNo = @DETNo + 1 END UPDATE CON SET @LastBatchDPREF = IsNull(CON.[LASTPREF], 0) + 1, CON.[LASTPREF] = IsNull(CON.[LASTPREF], 0) + 1, @OUTLAY = CON.[OUTLAY], @OVAT = CON.[VATEXCLUDE], @BASECUR = CON.[BASECURRENCY], @IECONVERT = CON.[IECONVERT] FROM [dbo].[control] CON INSERT INTO [dbo].[BatchDetails] ([BATCHNO], [TYPE], [CODE], [PREF], [REF], [DATE], [FEE], [BRANCH], [SUPP], [NARR], [MATTER], [VALUE], [VATCODE], [VATVAL], [CLIENTYN], [OUTLAY], [PENDING], [YEAR], [PERNO], [ENTRYCURRENCY], [CURRENCYVALUE], [CURRENCYVAT], [OUTLAYCODE], [THIRDPARTY], [PAYEE], [HEADPREF], [HEADBATCH], [ALLOCBATCH], [ALLOCPREF], [ALLOCREF], [ALLOCVALUE], [ALLOCWRITEOFF], [PSUPP], [UNDETAKING]) SELECT @NewBatchNo As [BATCHNO], convert(char(1), 'J') AS [TYPE], @OUTLAY AS [CODE], @LastBatchDPREF AS [PREF], convert(char(10), 'xCompTFer') AS [REF], BAH.[DATE] AS [DATE], convert(char(3), '') AS FEE, convert(varchar(3), '') AS BRANCH, convert(char(10), '') AS [SUPP], convert(char(150), 'Composite Billing') AS [NARR], BAH.[MATTER] AS [MATTER], TOT.[BILLNOW] As [VALUE], @OVAT AS [VATCODE], convert(decimal(17,2), 0) As [VATVAL], convert(char(1), 'N') AS [CLIENTYN], convert(char(1), 'O') AS [OUTLAY], convert(char(1), '') AS [PENDING], BAH.[YEAR] AS [YEAR], BAH.[PERNO] AS [PERNO], @BASECUR AS [ENTRYCURRENCY], convert(decimal(17, 2), round((TOT.[BILLNOW]) * @IECONVERT, 2)) AS [CURRENCYVALUE], convert(decimal(17,2), 0) As [CURRENCYVAT], convert(char(4), '') AS [OUTLAYCODE], convert(char(1), '') AS [THIRDPARTY], convert(char(60), '') AS [PAYEE], convert(int, 0) AS [HEADPREF], convert(int, 0) AS [HEADBATCH], convert(int, 0) AS [ALLOCBATCH], convert(int, 0) AS [ALLOCPREF], convert(char(10), '') AS [ALLOCREF], convert(decimal(17, 2), 0) AS [ALLOCVALUE], convert(char(1), '') AS [ALLOCWRITEOFF], convert(char(10), '') AS [PSUPP], convert(smallint, 0) AS [UNDETAKING] FROM [dbo].[BATCHH] BAH CROSS JOIN( SELECT ISNULL(SUM(ISNULL(BGD.[BillNow], 0)), 0) AS [BILLNOW] FROM [dbo].[ky_CompBillMatterByBatch](@BatchNo) BGM INNER JOIN [dbo].[BGDetail] BGD ON BGD.[BGGroupID] = BGM.[ID] AND BGD.[Matter] = BGM.[Matter]) TOT WHERE BAH.[PREF] = @LastBatchHPRef --UPDATE CON -- SET @LastBatchDPREF = IsNull(CON.[LASTPREF], 0) + 1, -- CON.[LASTPREF] = IsNull(CON.[LASTPREF], 0) + 1 -- FROM [dbo].[control] CON INSERT INTO [dbo].[MatterLedger] ([MATTER], [BATCHNO], [PREF], [DATE], [REF], [NARR], [VALUED], [VALUEO], [VALUEC], [FEE], [PER], [YEAR], [ENTRYDATE], [CLIENT], [VALUECC], [VALUECD], [DEPOSITTYPE], [CURVALUED], [CURVALUEO], [CURVALUEC], [CURVALUECC], [CURVALUECD], [BILLED], [BILLINGYEAR], [BILLINGPERIOD], [BILLINGDATE], [BILLEDOUTLAYVALUE], [InvoiceNo], [IncludeInBill]) SELECT convert(char(11), BAH.[MATTER]) AS [MATTER], @NewBatchNo As [BATCHNO], @LastBatchDPREF AS [PREF], BAH.[DATE] AS [DATE], convert(char(10), 'xCompTFer') AS [REF], convert(char(80), 'Composite Billing') AS [NARR], convert(decimal(17, 2), 0) AS [VALUED], convert(decimal(17, 2), TOT.[BILLNOW]) AS [VALUEO], convert(decimal(17, 2), 0) AS [VALUEC], convert(char(3), '') AS FEE, BAH.[PERNO] AS [PER], BAH.[YEAR] AS [YEAR], BAH.[DATE] AS [ENTRYDATE], MAT.[CLIENTCODE] AS [CLIENT], convert(decimal(17, 2), 0) AS [VALUECC], convert(decimal(17, 2), 0) AS [VALUECD], convert(char(4), '') AS [DEPOSITTYPE], convert(decimal(17, 2), 0) AS [CURVALUED], convert(decimal(17, 2), round((TOT.[BILLNOW]) * @IECONVERT, 2)) AS [CURVALUEO], convert(decimal(17, 2), 0) AS [CURVALUED], convert(decimal(17, 2), 0) AS [CURVALUECC], convert(decimal(17, 2), 0) AS [CURVALUECD], convert(char(1), '') AS [BILLED], BAH.[YEAR] AS [BILLINGYEAR], BAH.[PERNO] AS [BILLINGPERIOD], BAH.[DATE] AS [BILLINGDATE], convert(decimal(17, 2), TOT.[BILLNOW]) AS [BILLEDOUTLAYVALUE], @INVOICENO AS [Invoiceno], convert(int, 2) AS [IncludeInBill] FROM [dbo].[BATCHH] BAH INNER JOIN [dbo].[MATTERS] MAT ON MAT.[CODE] = BAH.[MATTER] CROSS JOIN( SELECT ISNULL(SUM(ISNULL(BGD.[BillNow], 0)), 0) AS [BILLNOW] FROM [dbo].[ky_CompBillMatterByBatch](@BatchNo) BGM INNER JOIN [dbo].[BGDetail] BGD ON BGD.[BGGroupID] = BGM.[ID] AND BGD.[Matter] = BGM.[Matter]) TOT WHERE BAH.[PREF] = @LastBatchHPRef -- UPDATE CON -- SET @LastBatchDPREF = IsNull(CON.[LASTPREF], 0) + 1, -- CON.[LASTPREF] = IsNull(CON.[LASTPREF], 0) + 1 -- FROM [dbo].[control] CON INSERT INTO [dbo].[NominalLedger] ([CODE], [BRANCH], [BATCHNO], [PREF], [DATE], [REF], [NARR], [MATTER], [SUPP], [FEE], [VALUE], [CURRENCYVALUE], [PER], [YEAR], [ENTRYDATE], [RECNO]) SELECT @OUTLAY AS [CODE], convert(varchar(3), '') AS [BRANCH], @NewBatchNo As [BATCHNO], @LastBatchDPREF AS [PREF], BAH.[DATE] AS [DATE], convert(char(10), 'xCompTFer') AS [REF], convert(char(100), 'Composite Billing') AS [NARR], convert(char(11), BAH.[MATTER]) AS [MATTER], convert(char(10), '') AS [SUPP], convert(char(3), '') AS FEE, convert(decimal(17, 2), TOT.[BILLNOW]) AS [VALUE], convert(decimal(17, 2), round((TOT.[BILLNOW]) * @IECONVERT, 2)) AS [CURRENCYVALUE], BAH.[PERNO] AS [PER], BAH.[YEAR] AS [YEAR], BAH.[DATE] AS [ENTRYDATE], convert(int, 0) AS [RECNO] FROM [dbo].[BATCHH] BAH INNER JOIN [dbo].[MATTERS] MAT ON MAT.[CODE] = BAH.MATTER CROSS JOIN( SELECT ISNULL(SUM(ISNULL(BGD.[BillNow], 0)), 0) AS [BILLNOW] FROM [dbo].[ky_CompBillMatterByBatch](@BatchNo) BGM INNER JOIN [dbo].[BGDetail] BGD ON BGD.[BGGroupID] = BGM.[ID] AND BGD.[Matter] = BGM.[Matter]) TOT WHERE BAH.[PREF] = @LastBatchHPRef UPDATE MAT SET MAT.[OutlayBal] = MAT.[OutlayBal] + ISNULL(TOT.[BILLNOW], 0), MAT.[CurOutlayBal] = round((MAT.[OutlayBal] + TOT.[BILLNOW]) * @IECONVERT, 2), MAT.[OutlayBalFwd] = MAT.[OutlayBalFwd] + TOT.[BILLNOW], MAT.[CurOutlayBalFwd] = round((MAT.[OutlayBalFwd] + TOT.[BILLNOW]) * @IECONVERT, 2) FROM [dbo].[BATCHH] BAH INNER JOIN [dbo].[matters] MAT ON MAT.[Code] = BAH.[MATTER] CROSS JOIN( SELECT ISNULL(SUM(ISNULL(BGD.[BillNow], 0)), 0) AS [BILLNOW] FROM [dbo].[ky_CompBillMatterByBatch](@BatchNo) BGM INNER JOIN [dbo].[BGDetail] BGD ON BGD.[BGGroupID] = BGM.[ID] AND BGD.[Matter] = BGM.[Matter]) TOT WHERE BAH.[PREF] = @LastBatchHPRef END GO IF OBJECT_ID(N'KAAS_SamConvertDateToClarion',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_SamConvertDateToClarion] GO CREATE PROCEDURE [dbo].[KAAS_SamConvertDateToClarion] (@Date VARCHAR(20) = '', @Result INT OUTPUT) AS /******************************************************************************************************* * This SP is used to get the Clarion Number from Date * * * * Stored Procedure Name : [dbo].[KAAS_SamConvertDateToClarion] * * * * Modification History: * * 2021-11-18 Vinodhkumar.M Created * *******************************************************************************************************/ BEGIN SELECT @Result = dbo.KAAS_FN_ConvertDateToClarion(@Date) END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_SamCostTransferGathering' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_SamCostTransferGathering] END GO CREATE PROCEDURE [dbo].[KAAS_SamCostTransferGathering] ( @REF CHAR(10), @DATE DATETIME, @MATTER VARCHAR(20), @VALUE DECIMAL(17,2), @ENTERCURRENCY CHAR(1) = '', @CURRENCYVALUE DECIMAL(17,2) = 0.00, @CURRENCYVAT DECIMAL(17,2) = 0.00, @HEADPREF INT = 0, @HEADBATCH INT = 0, @ALLOCBATCH INT, @ALLOCPREF INT, @ALLOCREF CHAR(10) = '', @ALLOCVALUE DECIMAL(17,2) = 0.00, @ALLOCWRITEOFF CHAR(1) = '' ) AS /******************************************************************************************************* * Save the Cost Transfer Details * * * * Stored Procedure Name : [dbo].[KAAS_SamCostTransferGathering] * * * * Modification History: * * 2021-11-19 Vinodhkumar M Created * *******************************************************************************************************/ BEGIN BEGIN TRY BEGIN TRAN SET NOCOUNT ON INSERT INTO [dbo].[CostTransGathering]( [REF], [DATE], [MATTER], [VALUE], [ENTRYCURRENCY], [CURRENCYVALUE], [CURRENCYVAT], [HEADBATCH], [HEADPREF], [ALLOCBATCH], [ALLOCPREF], [ALLOCREF], [ALLOCVALUE], [ALLOCWRITEOFF]) VALUES (@REF, @DATE, @MATTER, @VALUE, @ENTERCURRENCY, @CURRENCYVALUE, @CURRENCYVAT, @HEADBATCH, @HEADPREF, @ALLOCBATCH, @ALLOCPREF, @ALLOCREF, @ALLOCVALUE, @ALLOCWRITEOFF) SET NOCOUNT OFF COMMIT TRAN END TRY BEGIN CATCH ROLLBACK TRAN END CATCH END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_SamCreateMemoriseBatch' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_SamCreateMemoriseBatch] END GO CREATE PROCEDURE [dbo].[KAAS_SamCreateMemoriseBatch] (@BATCHNO INT, @DATE DATE = NULL, @TYPE CHAR(1), @Result TINYINT OUTPUT) AS /******************************************************************************************************* * Create Batch for memorise transaction * * * * Stored Procedure Name : [dbo].[KAAS_SamCreateMemoriseBatch] * * * * Modification History: * * 2021-11-02 vinodhkumar M Created * *******************************************************************************************************/ BEGIN BEGIN TRY BEGIN TRAN SET NOCOUNT ON IF(1 = (SELECT COUNT(1) FROM dbo.[RBatchH] WHERE [BatchNo] = @BATCHNO AND [DATE]=CAST(@DATE AS DATE))) BEGIN SET @Result = 0 END ELSE BEGIN INSERT INTO dbo.[RBatchH] ( [BATCHNO], [TYPE], [CODE], [PREF], [DATE], [FEE], [MATTER], [SUPP], [NARR], [VALUE], [SUBTOT], [POSTED], [CLIENTAC], [PERNO], [YEAR], [PAYEE], [OUTLAYTOT], [VATTOT], [FEETOT], [INVCR], [THIRDPARTY], [USERCODE], [ENTRYDATE], [CLIENTBANK], [CURRENCY], [CURRENCYVALUE], [CUROUTLAYTOT], [CURVATTOT], [CURFEETOT], [RECNO], [SINGLELINE], [TEMPLATE], [CHEQUEREQNO], [WRITEDOWN], [WRITEBACKHOURS], [WRITEBACKVALUE], [CORRECTCOPY], [CREDITINVOICENO], [DRAFTBILLNO], [EFTSENT], [EFTDATE], [EFTFILENUMBER], [EFTFILENAME], [EFTYORN], [CLIENTCODE], [PAYCLIENT], [ONCEOFFPAYMENT], [CASEASSCODE]) SELECT [BATCHNO], @TYPE, [CODE], [PREF], CAST(@DATE AS DATE), [FEE], [MATTER], [SUPP], [NARR], [VALUE], [SUBTOT], [POSTED], [CLIENTAC], [PERNO], [YEAR], [PAYEE], [OUTLAYTOT], [VATTOT], [FEETOT], [INVCR], [THIRDPARTY], [USERCODE], [ENTRYDATE], [CLIENTBANK], [CURRENCY], [CURRENCYVALUE], [CUROUTLAYTOT], [CURVATTOT], [CURFEETOT], [RECNO], [SINGLELINE], [TEMPLATE], [CHEQUEREQNO], [WRITEDOWN], [WRITEBACKHOURS], [WRITEBACKVALUE], [CORRECTCOPY], [CREDITINVOICENO], [DRAFTBILLNO], [EFTSENT], [EFTDATE], [EFTFILENUMBER], [EFTFILENAME], [EFTYORN], [CLIENTCODE], [PAYCLIENT], [ONCEOFFPAYMENT], [CASEASSCODE] FROM [dbo].[BatchH] WHERE BATCHNO=@BATCHNO INSERT INTO [dbo].[RBatchD] ( [BATCHNO], [TYPE], [CODE], [PREF], [DATE], [NARR], [MATTER], [VALUE], [VATCODE], [VATVAL], [OUTLAY], [YEAR], [PERNO], [ENTRYCURRENCY], [CURRENCYVALUE], [CURRENCYVAT], [ALLOCREF], [ALLOCVALUE], [ALLOCBATCH], [ALLOCPREF], [ALLOCWRITEOFF], [CASEASSCODE], [ONCEOFFPAYMENT], [PAYCLIENT], [CLIENTCODE], [SUPP], [OUTLAYCODE], [FEE], [PAYEE], [THIRDPARTY]) SELECT [BATCHNO], @Type, [CODE], [PREF], CAST(@DATE AS DATE), [NARR], [MATTER], [VALUE], [VATCODE], [VATVAL], [OUTLAY], [YEAR], [PERNO], [ENTRYCURRENCY], [CURRENCYVALUE], [CURRENCYVAT], [ALLOCREF], [ALLOCVALUE], [ALLOCBATCH], [ALLOCPREF], [ALLOCWRITEOFF], [CASEASSCODE], [ONCEOFFPAYMENT], [PAYCLIENT], [CLIENTCODE], [SUPP], [OUTLAYCODE], [FEE], [PAYEE], [THIRDPARTY] FROM [DBO].[BatchDetails] WHERE BATCHNO=@BATCHNO SET @Result = 1 END SET NOCOUNT OFF COMMIT TRAN END TRY BEGIN CATCH ROLLBACK TRAN END CATCH END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_SamDeleteCategoryContact' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_SamDeleteCategoryContact] END GO CREATE PROCEDURE [dbo].[KAAS_SamDeleteCategoryContact] (@RecordId INT = 0) AS /******************************************************************************************************* * delete Contact Categories * * * * Stored Procedure Name : [dbo].[KAAS_SamDeleteCategoryContact] * * * * Modification History: * * 2021-11-01 vinodhkumar M Created * *******************************************************************************************************/ BEGIN BEGIN TRY BEGIN TRAN DELETE FROM ContactCategories WHERE RECORDID=@RecordId COMMIT TRAN END TRY BEGIN CATCH ROLLBACK TRAN END CATCH END GO IF OBJECT_ID(N'KAAS_SamDesktopControl',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_SamDesktopControl] GO CREATE PROCEDURE [dbo].[KAAS_SamDesktopControl] AS /******************************************************************************************************* * This SP is used to get Config from Desktop Control * * * * Stored Procedure Name : [dbo].[KAAS_SamDesktopControl] * * * * Modification History: * * 2021-11-18 Vinodhkumar.M Created * *******************************************************************************************************/ BEGIN SELECT [DEFAULTTASK] AS Defaulttask, [REQUESTER] AS Requester, [SPLITCHEQUES] AS Splitcheques, [INDICATOR3] AS Indicator3, [INDICATOR4] AS Indicator4, [INDICATOR5] AS Indicator5, [INDICATOR6] AS Indicator6, [INDICATOR7] AS Indicator7, [INDICATOR8] AS Indicator8, [INDICATOR9] AS Indicator9, [INDICATOR10] AS Indicator10, [ENQUIRY] AS Enquiry, [TIMECOSTING] AS Timecosting, [BILLING] AS Billing, [CHEQUEREQ] AS Chequereq, [CLIENTREQ] AS Clientreq, [CASEMAN] AS Caseman, [RECORDID] AS Recordid FROM [dbo].[DesktopControl] END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_SAMFetchApproveReturnMailDetails' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_SAMFetchApproveReturnMailDetails] END GO CREATE PROCEDURE [dbo].[KAAS_SAMFetchApproveReturnMailDetails] ( @DraftNo INT = 0, @HandlerCode VARCHAR(20) = '' ) AS /******************************************************************************************************* * To fetch draft invoice approve/return mail details * * * * Stored Procedure Name : [dbo].ALTER PROCEDURE [dbo].[KAAS_SAMFetchApproveReturnMailDetails] * * * * Modification History: * * 2021-11-29 Balamurugan C Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON SELECT [BIH].[Matter], [BIH].[ReturnReason], [MAT].[Description], [MAT].[FNL_Name] AS [Name], [SET].[KeyValue] AS [ApproverMailID], [HAN].[Name] AS [HandlerName], [BIH].[User] AS [RequestedUser], [TOH].[Email] AS [ToMailAddress] FROM [dbo].[BillHeader] [BIH] JOIN [dbo].[Matters] [MAT] ON [MAT].[Code] = [BIH].[Matter] JOIN [dbo].[Settings] [SET] ON [SET].KeyName = 'InvoiceApprover' JOIN [dbo].[Handlers] [HAN] ON [HAN].[Code] = @HandlerCode JOIN [dbo].[Handlers] [TOH] ON [TOH].[Code] =[BIH].[User] WHERE [DraftNo] = @DraftNo SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_SamGetCategory', N'P') IS NOT NULL BEGIN DROP PROCEDURE [dbo].[KAAS_SamGetCategory] END GO CREATE PROCEDURE [dbo].[KAAS_SamGetCategory] AS /******************************************************************************************************* * This SP used to Fetch category * * * * Stored Procedure Name : [dbo].[KAAS_SamGetCategory] * * * * Modification History: * * 29 July 2021 Revathy D Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON SELECT [CGR].[CATTYPE] AS [CatType], [CGR].[CODE] AS [Code], [CGR].[DESC$] AS [CodeDescription], [CGT].[CATEGORYTYPE] AS [CategoryType], [CGT].[DESCRIPTION] AS [CategoryTypeDescription] FROM [dbo].[Category] CGR LEFT OUTER JOIN [dbo].[CategoryType] CGT ON [CGR].[CATTYPE] = [CGT].[CATEGORYTYPE] ORDER BY [CGR].[CATTYPE] ASC, [CGR].[CODE] ASC SET NOCOUNT OFF END GO IF EXISTS (SELECT TOP 1 1 FROM SYS.[objects] SO WHERE SO.[name] = N'KAAS_SAMGetRowBatchDetails' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_SAMGetRowBatchDetails] END GO CREATE PROCEDURE [dbo].[KAAS_SAMGetRowBatchDetails] ( @BatchNo INT, @KeyId INT, @HandlerCode VARCHAR(10) = '' ) AS /******************************************************************************************************** * Fetches the row details of specific batch * * * * Stored Procedure Name : [dbo].[KAAS_SAMGetRowBatchDetails]7423,5039,null * * * * Modification History: * * 2021-01-09 Vinodhkumar M Created * *********************************************************************************************************/ BEGIN SELECT [BTD].[BatchNo], [BTD].[Type], [BTD].[Code], [BTD].[Pref], [BTD].[Ref], [dbo].KEYHM_FNConvertUTCDateToTargetTimeZone(BTD.[Date], @HandlerCode) AS [Date], [BTD].[Narr], [BTD].[Matter], [BTD].[Fee], [BTD].[Supp], [BTD].[Value], [BTD].[VatCode], [BTD].[VatVal], [BTD].[Outlay], [BTD].[Year], [BTD].[PerNo], [BTD].[OutlayCode], [BTD].[HeadBatch], [BTD].[AllocBatch], [BTD].[AllocPref], [BTD].[KeyId] , [BTD].[ClientYN], [BTD].[AllocRef], [BTD].[AllocValue], [BTD].[AllocWriteOff], [BTD].[Payee], [BTD].[Branch], [BTD].[ThirdParty], [BTD].[PayClient], [BTD].[OnceOffPayment], [BTD].[ClientCode], [BTD].[EFTEmailYorN], [BTD].[CaseAssCode] FROM [dbo].[BatchDetails] [BTD] WHERE [BTD].[BATCHNO] = @BatchNo AND [BTD].[KEYID]=@KeyId ORDER BY [BTD].[BATCHNO] ASC, [BTD].[PREF] ASC, [BTD].[KEYID] ASC END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_SamGroupBGSelectedItems' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_SamGroupBGSelectedItems] END GO CREATE PROCEDURE [dbo].[KAAS_SamGroupBGSelectedItems] (@ControlID INT = 0, @OLDGuid VARCHAR(38) = '', @NEWGuid VARCHAR(38) = '', @GroupName VARCHAR(38) = '') AS /******************************************************************************************************* * Group selected Billing Guide items * * * * Stored Procedure Name : [dbo].[KAAS_SamGroupBGSelectedItems] * * * * Modification History: * * 2021-10-25 Vinodhkumar M Created * *******************************************************************************************************/ BEGIN EXEC [dbo].[ky_NewGroupBG] @ControlID, @GroupName SELECT @NEWGuid = convert(varchar(38), BGG.[ID]) FROM ( SELECT MAX([SeqNo]) As [SeqNo] FROM [dbo].[BGGroups] BGMAX WHERE [BGControlID] = @ControlID) MX INNER JOIN [dbo].[BGGroups] BGG on BGG.[BGControlID] = @ControlID AND BGG.[SeqNo] = MX.[SeqNo] EXEC [dbo].[ky_MoveGroupBG] @ControlID, @NEWGuid, @OLDGuid END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_SamGroupBGSelectedNarrative' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_SamGroupBGSelectedNarrative] END GO CREATE PROCEDURE [dbo].[KAAS_SamGroupBGSelectedNarrative] (@ControlID INT = 0, @GroupIDString VARCHAR(38)) AS /******************************************************************************************************* * group select Billing Guide to narative * * * * Stored Procedure Name : [dbo].[KAAS_SamGroupBGSelectedNarrative] * * * * Modification History: * * 2021-10-25 Vinodhkumar M Created * *******************************************************************************************************/ BEGIN EXEC [dbo].[ky_GroupGroupNARRBG] @ControlID, @GroupIDString END GO IF OBJECT_ID(N'KAAS_SamInsertKPIParamerter', N'P') IS NOT NULL BEGIN DROP PROCEDURE [dbo].[KAAS_SamInsertKPIParamerter] END GO CREATE PROCEDURE [dbo].[KAAS_SamInsertKPIParamerter] ( @ID INT, @StartOfYear DATETIME, @FromDate DATETIME, @ToDate DATETIME, @Period INT, @Year INT) AS /******************************************************************************************************* * This procedure is used to update the KPI Parameters * * * * Stored Procedure Name : [dbo].[KAAS_SamInsertKPIParamerter] * * * * Modification History : * * 2021-08-03 Revathy D Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON IF ISNULL(@ID, 0) = 0 AND NOT EXISTS(SELECT TOP 1 1 FROM [dbo].[KPIParameters]) BEGIN INSERT INTO [dbo].[KPIParameters] ( [StartOfYear], [FromDate], [ToDate], [Period], [Year]) SELECT @StartOfYear, @FromDate, @ToDate, @Period, @Year END ELSE BEGIN UPDATE [dbo].[KPIParameters] SET [StartOfYear] = @StartOfYear, [FromDate] = @FromDate, [ToDate] = @ToDate, [Period] = @Period, [Year] = @Year WHERE [ID] = @ID END SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_SamSaveCategoryContact',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_SamSaveCategoryContact] GO CREATE PROCEDURE [dbo].[KAAS_SamSaveCategoryContact] (@RecordId INT = 0, @CategoryType VARCHAR(6) = '', @Category VARCHAR(10) = '', @Date DATE = NULL, @FieldValue1 VARCHAR(60) = '', @FieldValue2 VARCHAR(60) = '', @FieldValue3 VARCHAR(60) = '', @FieldValue4 VARCHAR(60) = '', @FieldValue5 VARCHAR(60) = '', @FieldValue6 VARCHAR(60) = '', @FieldValue7 VARCHAR(60) = '', @FieldValue8 VARCHAR(60) = '', @FieldValue9 VARCHAR(60) = '', @FieldValue10 VARCHAR(60) = '', @ContactCode VARCHAR(8) = '') AS /******************************************************************************************************* * Save contact category code and type * * * * Stored Procedure Name : [dbo].[KAAS_SamSaveCategoryContact] * * * * Modification History: * * 2021-11-01 Vinodhkumar M Created * *******************************************************************************************************/ BEGIN BEGIN TRY BEGIN TRAN IF(@RecordId != 0) BEGIN UPDATE ContactCategories SET CATEGORYTYPE = @CategoryType, CATEGORY = @Category, DATE = @Date, FIELDVALUE1 = @FieldValue1, FIELDVALUE2 = @FieldValue2, FIELDVALUE3 = @FieldValue3, FIELDVALUE4 = @FieldValue4, FIELDVALUE5 = @FieldValue5, FIELDVALUE6 = @FieldValue6, FIELDVALUE7 = @FieldValue7, FIELDVALUE8 = @FieldValue8, FIELDVALUE9 = @FieldValue9, FIELDVALUE10 = @FieldValue10 WHERE RECORDID = @RecordId END ELSE BEGIN INSERT INTO ContactCategories( CONTACT, CATEGORYTYPE, CATEGORY, DATE, FIELDVALUE1, FIELDVALUE2, FIELDVALUE3, FIELDVALUE4, FIELDVALUE5, FIELDVALUE6, FIELDVALUE7, FIELDVALUE8, FIELDVALUE9, FIELDVALUE10) VALUES( @ContactCode, @CategoryType, @Category, @Date, @FieldValue1, @FieldValue2, @FieldValue3, @FieldValue4, @FieldValue5, @FieldValue6, @FieldValue7, @FieldValue8, @FieldValue9, @FieldValue10) END COMMIT TRAN END TRY BEGIN CATCH ROLLBACK TRAN END CATCH END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_SamUnGroupBillingGuide' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_SamUnGroupBillingGuide] END GO CREATE PROCEDURE [dbo].[KAAS_SamUnGroupBillingGuide] (@ControlID INT = 0, @GroupIDString VARCHAR(38)) AS /******************************************************************************************************* * UnGroup all Billing Guide * * * * Stored Procedure Name : [dbo].[KAAS_SamUnGroupBillingGuide] * * * * Modification History: * * 2021-10-25 Vinodhkumar M Created * *******************************************************************************************************/ BEGIN EXEC [dbo].[ky_UngroupGUIDBG] @ControlID, @GroupIDString EXEC [dbo].[ky_ReorderGroupBG] @ControlID END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_SAMUpdateMatterTimeBalance' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_SAMUpdateMatterTimeBalance] END GO CREATE PROCEDURE [dbo].[KAAS_SAMUpdateMatterTimeBalance] ( @matter VARCHAR(20) ) AS /******************************************************************************************************* * Update Matter Time Balance * * * * Stored Procedure Name : [dbo].[KAAS_SAMUpdateMatterTimeBalance] * * Copied From : [dbo].[ky_WDUpdateMatterTimeBalance] * * * * Modification History: * * 2021-11-12 Balamurugan C Created * *******************************************************************************************************/ BEGIN UPDATE MAT SET MAT.[TimeBal] = TTL.[TOTALTIME], MAT.[ChargeBal] = TTL.[TOTALCHARGED] FROM [dbo].[matters] MAT cross apply (SELECT IsNull(SUM(CASE WHEN IsNull(TIE.[CHARGE], 0) - IsNull(TIE.[BilledAmount], 0) <> 0 THEN IsNull(TIE.[time], 0) ELSE 0 END), 0) AS [TOTALTIME], IsNull(SUM(IsNull(TIE.[CHARGE], 0) - IsNull(TIE.[BilledAmount], 0)), 0) AS [TOTALCHARGED] FROM [dbo].[TimeEntry] TIE WHERE TIE.[MATTER] = MAT.[Code] AND RTRIM(ISNULL(TIE.[REC_IRR], '')) <> 'N' AND RTRIM(ISNULL(TIE.[TimeorCharge], '')) <> 'B') TTL WHERE MAT.[Code] = @Matter END GO IF OBJECT_ID(N'KAAS_SAM_GetPaymentClearDate',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_SAM_GetPaymentClearDate] GO CREATE PROCEDURE [dbo].[KAAS_SAM_GetPaymentClearDate] (@Date DATE = NULL, @ClearDays INT = 0, @Result DATE OUTPUT) AS /******************************************************************************************************* * Get Clear Date based on Payment method * * * * Stored Procedure Name : [dbo].[KAAS_SAM_GetPaymentClearDate] * * * * Modification History: * * 2021-11-08 vinodhkumar M Created * *******************************************************************************************************/ BEGIN SELECT @Result = [dbo].[ky_NETFNClearedDate](CAST(@Date AS DATE), @ClearDays) END GO IF OBJECT_ID(N'KAAS_SaveColumnChooserList', N'P') IS NOT NULL BEGIN DROP PROCEDURE [dbo].[KAAS_SaveColumnChooserList] END GO CREATE PROCEDURE [dbo].[KAAS_SaveColumnChooserList] ( @Mode VARCHAR(4) = '', @HandlerCode VARCHAR(50) = '', @PageName VARCHAR(50) = '', @DefaultColumns NVARCHAR(MAX) = '' ) AS /******************************************************************************************************* * Save the Default ColumnChooser Column List * * * * Stored Procedure Name : [dbo].[KAAS_SaveColumnChooserList] * * * * Modification History: * * Balamurugan 21-May-2021 Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON IF(@Mode='SAVE') BEGIN /*CHECK THE DATA ALREADY PRESENT OR NOT*/ IF EXISTS ( SELECT TOP 1 1 FROM [dbo].[DefaultPageColumnsByHanlder] WHERE [HandlerCode] = @HandlerCode AND [PageName] = @PageName ) BEGIN UPDATE [dbo].[DefaultPageColumnsByHanlder] SET [DefaultColumns] = @DefaultColumns WHERE [HandlerCode] = @HandlerCode AND [PageName] = @PageName END ELSE BEGIN INSERT INTO [dbo].[DefaultPageColumnsByHanlder] ( [HandlerCode], [PageName], [DefaultColumns] ) VALUES ( @HandlerCode, @PageName, @DefaultColumns ) END END IF(@Mode='VIEW') BEGIN SELECT [HandlerCode], [PageName], [DefaultColumns] FROM [dbo].[DefaultPageColumnsByHanlder] WHERE [HandlerCode] = @HandlerCode AND [PageName] = @PageName END SET NOCOUNT OFF END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_SetSAMClientToApprovedForMoneyLaundering' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_SetSAMClientToApprovedForMoneyLaundering] END GO CREATE PROCEDURE [dbo].[KAAS_SetSAMClientToApprovedForMoneyLaundering] ( @Result INT OUTPUT ) AS /******************************************************************************************************* * This stored procedure is used to SET MoneyLaudering is Approved for all client * * * * Stored Procedure Name : [dbo].[KAAS_SetSAMClientToApprovedForMoneyLaundering] * * Copied From : [dbo].[ky_NETMATSetClientToApprovedForMoneyLaundering] * * * * Modification History: * * 2021-08-11 Balamurugan.C Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON UPDATE [dbo].[Contacts] SET [Approved]=1 WHERE [Client] = 'Y' SET @Result = 1 SET NOCOUNT OFF END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_SetSAMMatterOutlayBudget' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_SetSAMMatterOutlayBudget] END GO CREATE PROCEDURE [dbo].[KAAS_SetSAMMatterOutlayBudget] ( @OutlayAmount DECIMAL(18,9), @Target VARCHAR(30) ) AS /*********************************************************************************** * * * This stored procedure is used to set all matter outlaybudget is set value * * * * Stored Procedure Name : [dbo].[KAAS_SetSAMMatterOutlayBudget] * * Copied From : [dbo].[ky_netSetMatterOutlayBudget] * * * * Modification History: * * 2021-08-11 Balamurugan.C Created * * * ***********************************************************************************/ BEGIN SET NOCOUNT ON IF LOWER(ISNULL(@Target, '')) = 'all' BEGIN UPDATE [dbo].[Matters] SET [OutlayBud] = ISNULL(@OutlayAmount, 0) END IF LOWER(ISNULL(@Target, '')) = 'nobudget' BEGIN UPDATE MAT SET MAT.[OutlayBud] = ISNULL(@OutlayAmount, 0) FROM [dbo].[Matters] AS MAT WHERE ISNULL(MAT.[OutlayBud], 0) = 0 END SET NOCOUNT OFF END GO IF OBJECT_ID(N'KAAS_SPMaintainUpdateHandler', N'P') IS NOT NULL BEGIN DROP PROCEDURE [dbo].[KAAS_SPMaintainUpdateHandler] END GO CREATE PROCEDURE [dbo].[KAAS_SPMaintainUpdateHandler] (@XML NVARCHAR(MAX), @SkipWelcomeScreen BIT) AS BEGIN /************************************************************************************************************* * * * [dbo].[KAAS_SPMaintainUpdateHandler] * * * * Description: This procedure is used to update handler information * * * * ***************************************************************************************************** * * * * Modification history: * * 2021-06-25 Natarajan S Created * * 2021-06-29 Natarajan S Modified - Changed variables as per coding standard. * *************************************************************************************************************/ DECLARE @iSL INT EXEC sp_xml_preparedocument @iSL OUTPUT, @XML DECLARE @COMMAND NVARCHAR(MAX) DECLARE @NEWHANDLERPHONES TABLE ([Code] VARCHAR(10) PRIMARY KEY, [PhoneNo] VARCHAR(50), [PhoneNumber] VARCHAR(50)) INSERT INTO @NEWHANDLERPHONES ([Code], [PhoneNo], [PhoneNumber]) SELECT [Code], [PhoneNo], [PhoneNumber] FROM OPENXML(@iSL, N'HAN') WITH ([Code] VARCHAR(10) '@Code', [Phoneno] VARCHAR(50) '@Phoneno', [PhoneNumber] VARCHAR(50) '@PhoneNumber') [DTA] UPDATE @NEWHANDLERPHONES SET [Phoneno] = ISNULL([PhoneNumber], '') WHERE ISNULL([PhoneNo], '') = '' UPDATE @NEWHANDLERPHONES SET [PhoneNumber] = ISNULL([Phoneno], '') WHERE ISNULL([PhoneNumber], '') = '' UPDATE @NEWHANDLERPHONES SET [PhoneNumber] = ISNULL([Phoneno], '') WHERE [PhoneNumber] <> [Phoneno] SELECT @COMMAND = N' DECLARE @Exists BIT INSERT INTO [dbo].[Handlers] ([Code]) SELECT [NEW].[Code] FROM (SELECT ''' + CONVERT(NVARCHAR(200), REPLACE(RTRIM([DTA].[Code]), '''', '''''')) + N''' [Code]) [NEW] LEFT OUTER JOIN [dbo].[Handlers] [HAN] ON [HAN].[Code] = [NEW].[Code] WHERE [HAN].[Code] IS NULL UPDATE [HAN] SET ' + CASE WHEN [DTA].[Team] IS NULL THEN N'' ELSE N', [Team] = ''' + CONVERT(NVARCHAR(200), REPLACE(RTRIM([DTA].[Team]), '''', '''''')) + N'''' END + CASE WHEN [DTA].[TeamCode] IS NULL THEN N'' ELSE N', [TeamCode] = ''' + CONVERT(NVARCHAR(200), REPLACE(RTRIM([DTA].[TeamCode]), '''', '''''')) + N'''' END + CASE WHEN [DTA].[Dept] IS NULL THEN N'' ELSE N', [Dept] = ''' + CONVERT(NVARCHAR(200), REPLACE(RTRIM([DTA].[Dept]), '''', '''''')) + N'''' END + CASE WHEN [DTA].[Type] IS NULL THEN N'' ELSE N', [Type] = ''' + CONVERT(NVARCHAR(200), REPLACE(RTRIM([DTA].[Type]), '''', '''''')) + N'''' END + CASE WHEN [DTA].[Name] IS NULL THEN N'' WHEN RTRIM([DTA].[Name]) = RTRIM(ISNULL([HAN].[Name], '')) THEN N'' ELSE N', [Name] = ''' + CONVERT(NVARCHAR(200), REPLACE(RTRIM([DTA].[Name]), '''', '''''')) + N'''' END + CASE WHEN [DTA].[Rate] IS NULL THEN N'' ELSE N', [Rate] = ' + CONVERT(NVARCHAR(200), [DTA].[Rate]) END + CASE WHEN [DTA].[Budget1] IS NULL THEN N'' ELSE N', [Budget1] = ' + CONVERT(NVARCHAR(200), [DTA].[Budget1]) END + CASE WHEN [DTA].[Budget2] IS NULL THEN N'' ELSE N', [Budget2] = ' + CONVERT(NVARCHAR(200), [DTA].[Budget2]) END + CASE WHEN [DTA].[Budget3] IS NULL THEN N'' ELSE N', [Budget3] = ' + CONVERT(NVARCHAR(200), [DTA].[Budget3]) END + CASE WHEN [DTA].[Budget4] IS NULL THEN N'' ELSE N', [Budget4] = ' + CONVERT(NVARCHAR(200), [DTA].[Budget4]) END + CASE WHEN [DTA].[Budget5] IS NULL THEN N'' ELSE N', [Budget5] = ' + CONVERT(NVARCHAR(200), [DTA].[Budget5]) END + CASE WHEN [DTA].[Budget6] IS NULL THEN N'' ELSE N', [Budget6] = ' + CONVERT(NVARCHAR(200), [DTA].[Budget6]) END + CASE WHEN [DTA].[Budget7] IS NULL THEN N'' ELSE N', [Budget7] = ' + CONVERT(NVARCHAR(200), [DTA].[Budget7]) END + CASE WHEN [DTA].[Budget8] IS NULL THEN N'' ELSE N', [Budget8] = ' + CONVERT(NVARCHAR(200), [DTA].[Budget8]) END + CASE WHEN [DTA].[Budget9] IS NULL THEN N'' ELSE N', [Budget9] = ' + CONVERT(NVARCHAR(200), [DTA].[Budget9]) END + CASE WHEN [DTA].[Budget10] IS NULL THEN N'' ELSE N', [Budget10] = ' + CONVERT(NVARCHAR(200), [DTA].[Budget10]) END + CASE WHEN [DTA].[Budget11] IS NULL THEN N'' ELSE N', [Budget11] = ' + CONVERT(NVARCHAR(200), [DTA].[Budget11]) END + CASE WHEN [DTA].[Budget12] IS NULL THEN N'' ELSE N', [Budget12] = ' + CONVERT(NVARCHAR(200), [DTA].[Budget12]) END + CASE WHEN [DTA].[Actual1] IS NULL THEN N'' ELSE N', [Actual1] = ' + CONVERT(NVARCHAR(200), DATEDIFF(DAY, CONVERT(DATETIME, '18001228'), [DTA].[Actual1])) END + CASE WHEN [DTA].[Actual2] IS NULL THEN N'' ELSE N', [Actual2] = ' + CONVERT(NVARCHAR(200), DATEDIFF(DAY, CONVERT(DATETIME, '18001228'), [DTA].[Actual2])) END + CASE WHEN [DTA].[Actual3] IS NULL THEN N'' ELSE N', [Actual3] = ' + CONVERT(NVARCHAR(200), DATEDIFF(DAY, CONVERT(DATETIME, '18001228'), [DTA].[Actual3])) END + CASE WHEN [DTA].[Actual4] IS NULL THEN N'' ELSE N', [Actual4] = ' + CONVERT(NVARCHAR(200), DATEDIFF(DAY, CONVERT(DATETIME, '18001228'), [DTA].[Actual4])) END + CASE WHEN [DTA].[Actual5] IS NULL THEN N'' ELSE N', [Actual5] = ' + CONVERT(NVARCHAR(200), DATEDIFF(DAY, CONVERT(DATETIME, '18001228'), [DTA].[Actual5])) END + CASE WHEN [DTA].[Actual6] IS NULL THEN N'' ELSE N', [Actual6] = ' + CONVERT(NVARCHAR(200), DATEDIFF(DAY, CONVERT(DATETIME, '18001228'), [DTA].[Actual6])) END + CASE WHEN [DTA].[Actual7] IS NULL THEN N'' ELSE N', [Actual7] = ' + CONVERT(NVARCHAR(200), DATEDIFF(DAY, CONVERT(DATETIME, '18001228'), [DTA].[Actual7])) END + CASE WHEN [DTA].[Actual8] IS NULL THEN N'' ELSE N', [Actual8] = ' + CONVERT(NVARCHAR(200), DATEDIFF(DAY, CONVERT(DATETIME, '18001228'), [DTA].[Actual8])) END + CASE WHEN [DTA].[Actual9] IS NULL THEN N'' ELSE N', [Actual9] = ' + CONVERT(NVARCHAR(200), DATEDIFF(DAY, CONVERT(DATETIME, '18001228'), [DTA].[Actual9])) END + CASE WHEN [DTA].[Actual10] IS NULL THEN N'' ELSE N', [Actual10] = ' + CONVERT(NVARCHAR(200), DATEDIFF(DAY, CONVERT(DATETIME, '18001228'), [DTA].[Actual10])) END + CASE WHEN [DTA].[Actual11] IS NULL THEN N'' ELSE N', [Actual11] = ' + CONVERT(NVARCHAR(200), DATEDIFF(DAY, CONVERT(DATETIME, '18001228'), [DTA].[Actual11])) END + CASE WHEN [DTA].[Actual12] IS NULL THEN N'' ELSE N', [Actual12] = ' + CONVERT(NVARCHAR(200), DATEDIFF(DAY, CONVERT(DATETIME, '18001228'), [DTA].[Actual12])) END + CASE WHEN [DTA].[TempCalc] IS NULL THEN N'' ELSE N', [TempCalc] = ' + CONVERT(NVARCHAR(200), [DTA].[TempCalc]) END + CASE WHEN [DTA].[Logon] IS NULL THEN N'' ELSE N', [Logon] = ''' + CONVERT(NVARCHAR(200), REPLACE(RTRIM([DTA].[Logon]), '''', '''''')) + N'''' END + CASE WHEN [DTA].[MailAddress] IS NULL THEN N'' ELSE N', [MailAddress] = ''' + CONVERT(NVARCHAR(200), REPLACE(RTRIM([DTA].[MailAddress]), '''', '''''')) + N'''' END + CASE WHEN [DTA].[TimeCoster] IS NULL THEN N'' ELSE N', [TimeCoster] = ''' + CONVERT(NVARCHAR(200), REPLACE(RTRIM([DTA].[TimeCoster]), '''', '''''')) + N'''' END + CASE WHEN [DTA].[TEAMLEADER] IS NULL THEN N'' ELSE N', [TEAMLEADER] = ''' + CONVERT(NVARCHAR(200), REPLACE(RTRIM([DTA].[TEAMLEADER]), '''', '''''')) + N'''' END + CASE WHEN [DTA].[NoRecentMatters] IS NULL THEN N'' ELSE N', [NoRecentMatters] = ' + CONVERT(NVARCHAR(200), [DTA].[NoRecentMatters]) END + CASE WHEN [DTA].[DefaultTask] IS NULL THEN N', [DefaultTask] = ''''' ELSE N', [DefaultTask] = ''' + CONVERT(NVARCHAR(200), REPLACE(RTRIM([DTA].[DefaultTask]), '''', '''''')) + N'''' END + CASE WHEN [DTA].[ExchangeAlias] IS NULL THEN N'' ELSE N', [ExchangeAlias] = ''' + CONVERT(NVARCHAR(300), REPLACE(RTRIM([DTA].[ExchangeAlias]), '''', '''''')) + N'''' END + CASE WHEN [DTA].[Rate1] IS NULL THEN N'' ELSE N', [Rate1] = ' + CONVERT(NVARCHAR(200), [DTA].[Rate1]) END + CASE WHEN [DTA].[Rate2] IS NULL THEN N'' ELSE N', [Rate2] = ' + CONVERT(NVARCHAR(200), [DTA].[Rate2]) END + CASE WHEN [DTA].[Rate3] IS NULL THEN N'' ELSE N', [Rate3] = ' + CONVERT(NVARCHAR(200), [DTA].[Rate3]) END + CASE WHEN [DTA].[Rate4] IS NULL THEN N'' ELSE N', [Rate4] = ' + CONVERT(NVARCHAR(200), [DTA].[Rate4]) END + CASE WHEN [DTA].[Rate5] IS NULL THEN N'' ELSE N', [Rate5] = ' + CONVERT(NVARCHAR(200), [DTA].[Rate5]) END + CASE WHEN [DTA].[Signature] IS NULL THEN N'' ELSE N', [Signature] = ''' + CONVERT(NVARCHAR(MAX), REPLACE(RTRIM([DTA].[Signature]), '''', '''''')) + N'''' END + CASE WHEN [DTA].[Email] IS NULL THEN N'' ELSE N', [Email] = ''' + CONVERT(NVARCHAR(200), REPLACE(RTRIM([DTA].[Email]), '''', '''''')) + N'''' END + CASE WHEN [DTA].[Retired] IS NULL THEN N'' ELSE N', [Retired] = ''' + CONVERT(NVARCHAR(200), REPLACE(RTRIM([DTA].[Retired]), '''', '''''')) + N'''' END + CASE WHEN [DTA].[Delegate] IS NULL THEN N'' ELSE N', [Delegate] = ''' + CONVERT(NVARCHAR(200), REPLACE(RTRIM([DTA].[Delegate]), '''', '''''')) + N'''' END + CASE WHEN [DTA].[OutlookView] IS NULL THEN N'' ELSE N', [OutlookView] = ''' + CONVERT(NVARCHAR(200), REPLACE(RTRIM([DTA].[OutlookView]), '''', '''''')) + N'''' END + CASE WHEN [DTA].[AutoLaunchTimer] IS NULL THEN N'' ELSE N', [AutoLaunchTimer] = ''' + CONVERT(NVARCHAR(200), REPLACE(RTRIM([DTA].[AutoLaunchTimer]), '''', '''''')) + N'''' END + CASE WHEN [DTA].[Phoneno] IS NULL THEN N'' ELSE N', [Phoneno] = ''' + CONVERT(NVARCHAR(200), REPLACE(RTRIM([HPN].[Phoneno]), '''', '''''')) + N'''' END + CASE WHEN [DTA].[PhoneNumber] IS NULL THEN N'' ELSE N', [PhoneNumber] = ''' + CONVERT(NVARCHAR(200), REPLACE(RTRIM([HPN].[Phoneno]), '''', '''''')) + N'''' END + CASE WHEN [DTA].[AutoLaunchKPI] IS NULL THEN N'' ELSE N', [AutoLaunchKPI] = ''' + CONVERT(NVARCHAR(200), REPLACE(RTRIM([DTA].[AutoLaunchKPI]), '''', '''''')) + N'''' END + CASE WHEN [DTA].[AxleNumber] IS NULL THEN N'' ELSE N', [AxleNumber] = ' + CONVERT(NVARCHAR(200), [DTA].[AxleNumber]) END + CASE WHEN [DTA].[UnitCost] IS NULL THEN N'' ELSE N', [UnitCost] = ' + CONVERT(NVARCHAR(200), [DTA].[UnitCost]) END + CASE WHEN [DTA].[TargetRecov] IS NULL THEN N'' ELSE N', [TargetRecov] = ' + CONVERT(NVARCHAR(200), [DTA].[TargetRecov]) END + CASE WHEN [DTA].[Branch] IS NULL THEN N'' ELSE N', [Branch] = ''' + CONVERT(NVARCHAR(200), REPLACE(RTRIM([DTA].[Branch]), '''', '''''')) + N'''' END + CASE WHEN [DTA].[FaxNumber] IS NULL THEN N'' ELSE N', [FaxNumber] = ''' + CONVERT(NVARCHAR(200), REPLACE(RTRIM([DTA].[FaxNumber]), '''', '''''')) + N'''' END + CASE WHEN [DTA].[ChargeGroup] IS NULL THEN N'' ELSE N', [ChargeGroup] = ''' + CONVERT(NVARCHAR(200), REPLACE(RTRIM([DTA].[ChargeGroup]), '''', '''''')) + N'''' END + CASE WHEN [DTA].[EmployeeRefNo] IS NULL THEN N'' ELSE N', [EmployeeRefNo] = ''' + CONVERT(NVARCHAR(200), REPLACE(RTRIM([DTA].[EmployeeRefNo]), '''', '''''')) + N'''' END + CASE WHEN [DTA].[ISChargeable] IS NULL THEN N'' ELSE N', [ISChargeable] = ''' + CONVERT(NVARCHAR(200), REPLACE(RTRIM([DTA].[ISChargeable]), '''', '''''')) + N'''' END + CASE WHEN RTRIM(ISNULL([DTA].[TradingName], '')) = '' THEN N', [TradingName] = RTRIM(ISNULL([CON].[Name], ''''))' ELSE N', [TradingName] = ''' + CONVERT(NVARCHAR(200), REPLACE(RTRIM([DTA].[TradingName]), '''', '''''')) + N'''' END + CASE WHEN [DTA].[JobTitle] IS NULL THEN N'' ELSE N', [JobTitle] = ''' + CONVERT(NVARCHAR(200), REPLACE(RTRIM([DTA].[JobTitle]), '''', '''''')) + N'''' END + N' FROM [dbo].[Handlers] [HAN] CROSS APPLY (SELECT TOP 1 [Name] FROM [dbo].[Control]) [CON] WHERE [HAN].[Code] = ''' + CONVERT(NVARCHAR(200), REPLACE(RTRIM([DTA].[Code]), '''', '''''')) + N'''' FROM OPENXML(@iSL, N'HAN') WITH ([Code] VARCHAR(10) '@Code', [Team] VARCHAR(10) '@Team', [TeamCode] CHAR(1) '@TeamCode', [Dept] VARCHAR(5) '@Dept', [Type] CHAR(1) '@Type', [Name] VARCHAR(30) '@Name', [Rate] DECIMAL(10,2) '@Rate', [Budget1] DECIMAL(13,2) '@Budget1', [Budget2] DECIMAL(13,2) '@Budget2', [Budget3] DECIMAL(13,2) '@Budget3', [Budget4] DECIMAL(13,2) '@Budget4', [Budget5] DECIMAL(13,2) '@Budget5', [Budget6] DECIMAL(13,2) '@Budget6', [Budget7] DECIMAL(13,2) '@Budget7', [Budget8] DECIMAL(13,2) '@Budget8', [Budget9] DECIMAL(13,2) '@Budget9', [Budget10] DECIMAL(13,2) '@Budget10', [Budget11] DECIMAL(13,2) '@Budget11', [Budget12] DECIMAL(13,2) '@Budget12', [Actual1] DATETIME '@Actual1', [Actual2] DATETIME '@Actual2', [Actual3] DATETIME '@Actual3', [Actual4] DATETIME '@Actual4', [Actual5] DATETIME '@Actual5', [Actual6] DATETIME '@Actual6', [Actual7] DATETIME '@Actual7', [Actual8] DATETIME '@Actual8', [Actual9] DATETIME '@Actual9', [Actual10] DATETIME '@Actual10', [Actual11] DATETIME '@Actual11', [Actual12] DATETIME '@Actual12', [TempCalc] DECIMAL(13,2) '@TempCalc', [Logon] VARCHAR(10) '@Logon', [MailAddress] VARCHAR(20) '@MailAddress', [TimeCoster] CHAR(1) '@TimeCoster', [TeamLeader] VARCHAR(10) '@TeamLeader', [NoRecentMatters] INT '@NoRecentMatters', [DefaultTask] CHAR(6) '@DefaultTask', [ExchangeAlias] VARCHAR(256) '@ExchangeAlias', [Rate1] DECIMAL(7,2) '@Rate1', [Rate2] DECIMAL(7,2) '@Rate2', [Rate3] DECIMAL(7,2) '@Rate3', [Rate4] DECIMAL(7,2) '@Rate4', [Rate5] DECIMAL(7,2) '@Rate5', [Signature] VARCHAR(MAX) '@Signature', [Email] VARCHAR(100) '@Email', [Retired] CHAR(1) '@Retired', [Delegate] VARCHAR(50) '@Delegate', [OutlookView] CHAR(1) '@OutlookView', [AutoLaunchTimer] CHAR(1) '@AutoLaunchTimer', [Phoneno] VARCHAR(50) '@Phoneno', [PhoneNumber] VARCHAR(50) '@PhoneNumber', [AutoLaunchKPI] CHAR(1) '@AutoLaunchKPI', [AxleNumber] INT '@AxleNumber', [UnitCost] DECIMAL(14,2) '@UnitCost', [TargetRecov] DECIMAL(7,2) '@TargetRecov', [Branch] CHAR(3) '@Branch', [FaxNumber] VARCHAR(50) '@FaxNumber', [ChargeGroup] CHAR(5) '@ChargeGroup', [EmployeeRefNo] VARCHAR(10) '@EmployeeRefNo', [ISChargeable] VARCHAR(1) '@ISChargeable', [TradingName] VARCHAR(200) '@TradingName', [JobTitle] VARCHAR(100) '@JobTitle', [SyncRetire] bit '@SyncRetire') [DTA] INNER JOIN @NEWHANDLERPHONES [HPN] ON [HPN].[Code] = [DTA].[Code] LEFT OUTER JOIN [dbo].[Handlers] [HAN] ON [HAN].[Code] = [DTA].[Code] SET @COMMAND = REPLACE(@COMMAND, N'SET ,' + NCHAR(13) + NCHAR(10) + N' ', N'SET ') EXEC (@COMMAND) UPDATE [FEC] SET [FEC].[Retired] = [HAN].[Retired] FROM OPENXML(@iSL, N'HAN') WITH ([Code] VARCHAR(10) '@Code', [SyncRetire] bit '@SyncRetire') [DTA] INNER JOIN [dbo].[Handlers] [HAN] ON [HAN].[Code] = [DTA].[Code] INNER JOIN [dbo].[FeeEarnerCodes] [FEC] ON [FEC].[Code] = [DTA].[Code] WHERE ISNULL([DTA].[SyncRetire], CONVERT(BIT, 0)) = 1 INSERT INTO [dbo].[UserSettings] ([Handler], [Key], [Value]) SELECT [DTA].[Code], 'NewMatterWizardDontShowWelcomeScreen', CONVERT(NVARCHAR(MAX), ISNULL(@SkipWelcomeScreen, CONVERT(BIT, 0))) FROM OPENXML(@iSL, N'HAN') WITH ([Code] VARCHAR(10) '@Code') [DTA] LEFT OUTER JOIN [dbo].[UserSettings] [SET] ON [SET].[Handler] = [DTA].[Code] AND [SET].[Key] = 'NewMatterWizardDontShowWelcomeScreen' WHERE [SET].[SettingID] IS NULL UPDATE [SET] SET [SET].[Value] = CONVERT(NVARCHAR(MAX), ISNULL(@SkipWelcomeScreen, CONVERT(BIT, 0))) FROM OPENXML(@iSL, N'HAN') WITH ([Code] VARCHAR(10) '@Code') [DTA] INNER JOIN [dbo].[UserSettings] [SET] ON [SET].[Handler] = [DTA].[Code] AND [SET].[Key] = 'NewMatterWizardDontShowWelcomeScreen' -- KEYD-6912 - Insert new name into HandlerNames table, but only update now if the setting is turned off (default) IF NOT EXISTS (SELECT TOP 1 1 FROM [dbo].[Settings] AS [SET] WHERE [SET].[KeyName] = 'DelayHandlerNameUpdate' AND [SET].[KeyValue] = 'True') BEGIN UPDATE [HN] SET [HN].[Name] = ISNULL([DTA].[Name], '') FROM OPENXML(@iSL, N'HAN') WITH ([Code] VARCHAR(10) '@Code', [TeamCode] CHAR(1) '@TeamCode', [Name] VARCHAR(30) '@Name') [DTA] INNER JOIN [dbo].[HandlerNames] AS [HN] ON [HN].[Code] = [DTA].[Code] --WHERE ISNULL([DTA].[TeamCode], '') <> 'Y' END INSERT INTO [dbo].[HandlerNames] ( [Code], [Name]) SELECT [DTA].[Code], ISNULL([DTA].[Name], '') FROM OPENXML(@iSL, N'HAN') WITH ([Code] VARCHAR(10) '@Code', [TeamCode] CHAR(1) '@TeamCode', [Name] VARCHAR(30) '@Name') [DTA] LEFT OUTER JOIN [dbo].[HandlerNames] AS [HN] ON [HN].[Code] = [DTA].[Code] WHERE [HN].[Code] IS NULL AND ISNULL([DTA].[TeamCode], '') <> 'Y' EXEC sp_xml_removedocument @iSL END GO IF OBJECT_ID(N'KAAS_UpdateCreditorsList',N'P')IS NOT NULL DROP PROCEDURE [dbo].[KAAS_UpdateCreditorsList] GO CREATE PROCEDURE [dbo].[KAAS_UpdateCreditorsList] (@PayValue decimal(11,2), @RecordId decimal(17,0)) AS /******************************************************************************************************* * Updates the creditors list * * * * Stored Procedure Name : [dbo].[KAAS_UpdateCreditorsList] * * * * Modification History: * * 2021-10-05 Revathy D Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON UPDATE [dbo].[CreditorsList] SET [PAYVALUE] = @PayValue WHERE [RECORDID] = @RecordId SET NOCOUNT OFF END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_UpdateMatterDetailsArchive' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_UpdateMatterDetailsArchive] END GO CREATE PROCEDURE [dbo].[KAAS_UpdateMatterDetailsArchive]( @MatterCode VARCHAR(20), @DateFileClosed DATETIME, @Location VARCHAR(50), @ArchiveLocation VARCHAR(50), @FileBarCodeNo VARCHAR(60), @BoxBarCodeNo VARCHAR(60), @BoxNumber VARCHAR(20), @ExpectedDestroyDate VARCHAR(30), @ActualDestroyDate VARCHAR(30), @DestroyedBy VARCHAR(10), @Closed CHAR(1)='N', @Result TINYINT OUTPUT) AS /******************************************************************************************************* * This stored procedure is used to insert or update the matter information for Archive. * * IF matter code already exists it will update that record, Otherwise it will insert a new record . * * * * Stored Procedure Name : [dbo].[KAAS_UpdateMatterDetailsArchive] * * Copied from : [dbo].[ky_NETMATUpdateMatterDetails2] * * * * Modification History: * * 2019-05-24 Vinodhan K Created * *******************************************************************************************************/ BEGIN SET NOCOUNT ON UPDATE Matters SET [ClosingDate] = @DateFileClosed, [Location] = @Location , [ArchiveLocation] = @ArchiveLocation , [FileBarCodeNo] = @FileBarCodeNo , [BoxBarCodeNo] = @BoxBarCodeNo , [BoxNumber] = @BoxNumber , [DestroyDate] = @ExpectedDestroyDate , [ActualDestroyDate] = @ActualDestroyDate , [DestroyedBy] = @DestroyedBy, [Closed] = @Closed WHERE Code = @MatterCode SET @Result = 1 SET NOCOUNT OFF END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_UpdatePostingIssueInvoive' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_UpdatePostingIssueInvoive] END GO CREATE PROCEDURE [dbo].[KAAS_UpdatePostingIssueInvoive] ( @PostedBatchNo INT = 0, @PostedType VARCHAR(1) = '', @IsPostingFwd VARCHAR(1) = '', @HandlerName VARCHAR(20) = '' ) AS /******************************************************************************************************* * Update Posting Logic for Issue Invoive * * * * Stored Procedure Name : [dbo].[KAAS_UpdatePostingSAMMultiPayment] * * * * Modification History: * * 2021-11-23 Balamurugan C Created * *******************************************************************************************************/ --DECLARE -- @PostedBatchNo INT = 1513, -- @PostedType VARCHAR(1) = 'I', -- @IsPostingFwd VARCHAR(1) = 'N', -- @HandlerName VARCHAR(20) = 'admin'; BEGIN BEGIN TRY BEGIN TRAN -- /* SELECT BATCH HEADER AND INSERT INTO TABLE VARIBALE* DECLARE @tempBatchH TABLE ([BatchNo] [int] NOT NULL, [Type] [char](1) NULL, [Code] [char](10) NULL, [Ref] [char](10) NULL, [Date] [datetime] NULL, [Matter] [varchar](20) NULL, [SubTotal] [decimal](17, 2) NULL, [Supp] [char](10) NULL, [Narr] [char](150) NULL, [Value] [decimal](17, 2) NULL, [Currency] [varchar](10) NULL, [CurrencyValue] [decimal](17, 2) NULL, [Posted] [char](1) NULL, [Branch] [varchar](3) NULL, [PerNo] [smallint] NULL, [Year] [smallint] NULL, [EntryDate] [datetime] NULL, [RecNo] [int] NULL, [ChequeReqNo] [int] NULL, [UserCode] [char](8) NULL, [Pref] [int] NULL, [ClientAc] [char](1) NULL, [EFT] [char](1) NOT NULL, [ClientBank] [char](10) NULL, [ThirdParty] [char](1) NULL, [Payee] [char](60) NULL, [EFTSent] [char](1) NOT NULL, [PayClient] [char](1) NOT NULL, [OnceOffPayment] [char](1) NOT NULL, [ClientCode] [varchar](10) NULL, [Feetotal] [decimal](17, 2) NULL, [Outlaytotal] [decimal](17, 2) NULL, [VatTotal] [decimal](17, 2) NULL, [WriteDown] [datetime] NULL, [WriteBackHours] [decimal](7, 2) NULL, [WriteBackValue] [decimal](13, 2) NULL, [CreditInvoiceNo][int] NULL, [Invcr] [char](1) NULL, [Fee] [varchar](10) NULL, [PaymentMethod] [int] NULL, [ClearedDate] [datetime] NULL, [SingleLine] [varchar](1) NULL, [DraftBillNo] [int] NULL) INSERT INTO @tempBatchH SELECT [BAH].[BatchNo], RTRIM(ISNULL([BAH].[Type],'')), [BAH].[Code], RTRIM(ISNULL([BAH].[Ref],'')), dbo.KEYHM_FNConvertUTCDateToTargetTimeZone([BAH].[Date], @HandlerName), [BAH].[Matter], [BAH].[SUBTOT], [BAH].[Supp], [BAH].[Narr], [BAH].[Value], [BAH].[Currency], [BAH].[CurrencyValue], [BAH].[Posted], [BAH].[Branch], [BAH].[PerNo], [BAH].[Year], dbo.KEYHM_FNConvertUTCDateToTargetTimeZone([BAH].[EntryDate], @HandlerName) AS [EntryDate], [BAH].[RecNo], [BAH].[ChequeReqNo], [BAH].[UserCode], [BAH].[Pref], [BAH].[ClientAc], [BAH].[EFTYorN], [BAH].[CLIENTBANK], [BAH].[ThirdParty], [BAH].[Payee], [BAH].[EFTSent], [BAH].[PayClient], [BAH].[OnceOffPayment], [BAH].[ClientCode], [BAH].[FEETOT], [BAH].[OUTLAYTOT], [BAH].[VATTOT], [BAH].[WRITEDOWN], [BAH].[WRITEBACKHOURS], [BAH].[WRITEBACKVALUE], [BAH].[CREDITINVOICENO], [BAH].[INVCR], [BAH].[FEE], [BAH].[PaymentMethod], [BAH].[ClearedDate], [BAH].[SingleLine], [BAH].[DraftBillNo] FROM [dbo].[BatchH] [BAH] WITH(NOLOCK) WHERE [BAH].[BatchNo] = @PostedBatchNo /* SELECT BATCH DETAILS AND INSERT INTO TEMP TABLE VARIBLE*/ DECLARE @tempBatchDetails TABLE ( [BatchNo] [INT] NOT NULL, [Type] [CHAR](1) NULL, [Code] [CHAR](10) NULL, [Pref] [INT] NULL, [Ref] [CHAR](10) NULL, [Date] [DATETIME] NULL, [Fee] [VARCHAR](10) NULL, [Branch] [VARCHAR](3) NULL, [Narr] [CHAR](100) NULL, [Matter] [VARCHAR](20) NULL, [Supp] [CHAR](10) NULL, [Value] [DECIMAL](17, 2) NULL, [VatCode] [CHAR](1) NULL, [VatVal] [DECIMAL](17, 2) NULL, [ClientYN] [CHAR](1) NULL, [Outlay] [CHAR](1) NULL, [Pending] [CHAR](1) NULL, [Year] [SMALLINT] NULL, [PerNo] [SMALLINT] NULL, [EntryCurrency] [CHAR](1) NULL, [CurrencyValue] [DECIMAL](17, 2) NULL, [CurrencyVat] [DECIMAL](17, 2) NULL, [OutlayCode] [CHAR](4) NULL, [ThirdParty] [CHAR](1) NULL, [Payee] [CHAR](60) NULL, [HeadPref] [INT] NULL, [HeadBatch] [INT] NULL, [AllocBatch] [INT] NULL, [AllocPref] [INT] NULL, [AllocRef] [CHAR](10) NULL, [AllocValue] [DECIMAL](17, 2) NULL, [AllocWriteOff] [CHAR](1) NULL, [Psupp] [CHAR](10) NULL, [Undetaking] [SMALLINT] NULL, [CaseAssCode] [VARCHAR](6) NULL, [OnceOffPayment] [CHAR](1) NOT NULL, [PayClient] [CHAR](1) NOT NULL, [ClientCode] [VARCHAR](10) NULL, [EFTemailYorN] [CHAR](1) NOT NULL, [RegisteredPost] [INT] NULL, [PreBilledOutlay] [BIT] NOT NULL, [KeyId] [INT] NOT NULL ) INSERT INTO @tempBatchDetails SELECT [BATCHNO], [TYPE], [CODE], [PREF], [REF], [DATE], [FEE], [BRANCH], [NARR], [MATTER], [SUPP], [VALUE], [VATCODE], [VATVAL], [CLIENTYN], [OUTLAY], [PENDING], [YEAR], [PERNO], [ENTRYCURRENCY], [CURRENCYVALUE], [CURRENCYVAT], [OUTLAYCODE], [THIRDPARTY], [PAYEE], [HEADPREF], [HEADBATCH], [ALLOCBATCH], [ALLOCPREF], [ALLOCREF], [ALLOCVALUE], [ALLOCWRITEOFF], [PSUPP], [UNDETAKING], [CaseAssCode], [OnceOffPayment], [PayClient], [ClientCode], [EFTEmailYorN], [RegisteredPost], [PreBilledOutlay], [KEYID] FROM [dbo].[BatchDetails] WITH(NOLOCK) WHERE [BATCHNO] = @PostedBatchNo DECLARE @LastBatch INT = 0, @LastPref INT = 0, @CurPer INT = 0, @InvCr VARCHAR(1) = '', @InvCrValue INT = 0, @OutlayTot DECIMAL(17,2) = 0, @SingleLine VARCHAR(1) = '', @DepositAcct VARCHAR(1) = '', @DeFaultOutlay VARCHAR(10) = '', @VATControlCode VARCHAR(10) = '', @DebtorsControlCode VARCHAR(10) = '', @TimeCosting VARCHAR(1) = '', @BatchFeeTotal DECIMAL(17,2) = 0, @TimeTotal DECIMAL(17,2) = 0, @ChargeTotal DECIMAL(17,2) = 0, @TimeValue DECIMAL(17,2) = 0, @BHSupp VARCHAR(10) = '', @MatterCode VARCHAR(10) = '', @CreditInvoiceNo INT = 0, @DraftBillNo INT = 0; /*FLAG VALUES*/ SELECT @CurPer = [CurPer], @DefaultOutlay = [Outlay], @VATControlCode = [Vat], @DebtorsControlCode = [Debtors], @TimeCosting = [TimeCosting] FROM [dbo].[Control] WITH(NOLOCK) SELECT @InvCr = [INVCR], @OutlayTot = [Outlaytotal], @SingleLine = [SingleLine], @BatchFeeTotal = [Feetotal], @BHSupp = [Supp], @MatterCode = [Matter], @CreditInvoiceNo = [CreditInvoiceNo], @DraftBillNo = DraftBillNo FROM @tempBatchH IF(@InvCr = 'C') BEGIN SET @InvCrValue = -1; END ELSE BEGIN SET @InvCrValue = 1; END /* INSERT INTO MATTER LEDGER TABLE - BATCH HEADER */ IF(@OutlayTot<>0 AND @SingleLine = 'Y') BEGIN INSERT INTO [dbo].[MatterLedger] ( [Matter], [BatchNo], [Pref], [Date], [Ref], [Narr], [ValueD], [ValueO], [ValueC], [Fee], [Per], [Year], [EntryDate], [Client], [ValueCC], [ValueCD], [DepositType], [CurValueD], [CurValueO], [CurValueC], [CurValueCC], [CurValueCD], [Billed], [BillingYear], [BillingPeriod], [BillingDate], [BilledOutlayValue], [InvoiceNo], [IncludeInBill], [ClearedDate] ) ( SELECT [TBH].[Matter] ,[TBH].[BatchNo] ,[TBH].[Pref] ,[TBH].[Date] ,[TBH].[Ref] ,'To Invoice' + ISNULL([TBH].[Ref],'') ,0.00 ,[Outlaytotal] * @InvCrValue ,0.00 ,[TBH].[Fee] ,[TBH].[PerNo] ,[TBH].[Year] ,CAST(GETDATE() AS DATE) ,SUBSTRING([TBH].[Matter], 1, 6) ,0.00 ,0.00 ,'' ,0.00 ,CASE WHEN [TBH].[Currency] = 'I' THEN ([TBH].[Outlaytotal] / 0.787564) * -1 * @InvCrValue ELSE ([TBH].[Outlaytotal] * 0.787564) * -1 * @InvCrValue END AS [CurValueC] ,0.00 ,0.00 ,0.00 ,'' ,0 ,0 ,null ,0 ,0 ,0 ,[TBH].[ClearedDate] FROM @tempBatchH [TBH] ) /* UPDATE MATTER LEDGER VALUE*/ UPDATE [MAL] SET [MAL].[BilledOutlayValue] = [MAL].[ValueO] FROM [dbo].[MatterLedger] [MAL] JOIN @tempBatchH [TBH] ON [MAL].[Matter] = [TBH].[Matter] AND [MAL].[BatchNo] = [TBH].[BatchNo] /*UPDATE MATTER TABLE FOR OUTLAY */ UPDATE [MAT] SET [MAT].[OutlayBal] = ISNULL([MAT].[OutlayBal],0) + ISNULL([TBH].[Outlaytotal] * -1 * @InvCrValue,0), [MAT].[CurOutlayBal] = ISNULL([MAT].[CurOutlayBal],0) + ISNULL([MAL].[CurValueO] * -1 * @InvCrValue,0), [MAT].[OutlayBalFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([MAT].[OutlayBalFwd],0) + ISNULL([TBH].[Value] * -1 * @InvCrValue,0) ELSE [MAT].[OutlayBalFwd] END, [MAT].[CurOutlayBalFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([MAT].[CurOutlayBalFwd],0) + ISNULL([MAL].[CurValueO] * -1 * @InvCrValue,0) ELSE [MAT].[CurOutlayBalFwd] END FROM [dbo].[matters] [MAT] INNER JOIN @tempBatchH [TBH] ON [MAT].[Code] = [TBH].[Matter] INNER JOIN [dbo].[MatterLedger] [MAL] ON [MAL].[Matter] = [TBH].[Matter] AND [MAL].[BatchNo] = [TBH].[BatchNo] /* UPDATE CONTACTS TABLE - OUTLAY*/ UPDATE [CON] SET [CON].[OutlayBal] = ISNULL([CON].[OutlayBal],0) + ISNULL([TBH].[Outlaytotal] * -1 * @InvCrValue,0), [CON].[CurOutlayBal] = ISNULL([CON].[CurOutlayBal],0) + ISNULL([MAL].[CurValueO] * -1 * @InvCrValue,0) FROM [dbo].[Contacts] [CON] INNER JOIN @tempBatchH [TBH] ON [CON].[Code] = SUBSTRING([TBH].[Matter], 1, 6) INNER JOIN [dbo].[MatterLedger] [MAL] ON [MAL].[Matter] = [TBH].[Matter] AND [MAL].[BatchNo] = [TBH].[BatchNo] /* INSERT INTO NOMIANL LEDGER */ INSERT INTO [dbo].[NominalLedger] ( [Code], [Branch], [BatchNo], [Pref], [Date], [Ref], [Narr], [Matter], [Supp], [Fee], [Value], [CurrencyValue], [Per], [Year], [EntryDate], [RecNo], [ClearedDate] ) ( SELECT @DefaultOutlay AS [Code], [TBH].[Branch], [TBH].[BatchNo], [TBH].[Pref], [TBH].[Date], [TBH].[Ref], 'To Invoive '+ ISNULL([TBH].[Ref],'') AS [Narr], [TBH].[Matter], [TBH].[Supp], '' AS [Fee], ISNULL([TBH].[Outlaytotal] * -1 * @InvCrValue,0) AS [Value], ISNULL([MAL].[CurValueO] * -1 * @InvCrValue,0) AS [CurrencyValue], [TBH].[PerNo], [TBH].[Year], CAST(GETDATE() AS DATE) AS [EntryDate], [TBH].[RecNo], [TBH].[ClearedDate] FROM @tempBatchH [TBH] INNER JOIN [dbo].[MatterLedger] [MAL] ON [MAL].[Matter] = [TBH].[Matter] AND [MAL].[BatchNo] = [TBH].[BatchNo] ) /* UPDATE NOMINAL BALANCE FOR OUTLAY */ UPDATE [NOM] SET [NOM].[Balance] = ISNULL([NOM].[Balance],0)+([TBH].[Outlaytotal] * -1 * @InvCrValue), [NOM].[CurrencyBal] = ISNULL([NOM].[CurrencyBal],0)+([MAL].[CurValueO] * -1 * @InvCrValue), [NOM].[BalanceFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([NOM].[BalanceFwd],0)+([TBH].[Outlaytotal] * -1 * @InvCrValue) ELSE ISNULL([NOM].[BalanceFwd],0) END, [NOM].[CurrencyBalFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([NOM].[CurrencyBalFwd],0)+([MAL].[CurValueO] * -1 * @InvCrValue) ELSE ISNULL([NOM].[CurrencyBalFwd],0) END, [NOM].[Month1] = CASE WHEN @CurPer = 1 AND @IsPostingFwd<>'Y' THEN [NOM].[Month1]+([TBH].[Outlaytotal] * -1 * @InvCrValue) ELSE [NOM].[Month1] END, [NOM].[Month2] = CASE WHEN @CurPer = 2 AND @IsPostingFwd<>'Y' THEN [NOM].[Month2]+([TBH].[Outlaytotal] * -1 * @InvCrValue) ELSE [NOM].[Month2] END, [NOM].[Month3] = CASE WHEN @CurPer = 3 AND @IsPostingFwd<>'Y' THEN [NOM].[Month3]+([TBH].[Outlaytotal] * -1 * @InvCrValue) ELSE [NOM].[Month3] END, [NOM].[Month4] = CASE WHEN @CurPer = 4 AND @IsPostingFwd<>'Y' THEN [NOM].[Month4]+([TBH].[Outlaytotal] * -1 * @InvCrValue) ELSE [NOM].[Month4] END, [NOM].[Month5] = CASE WHEN @CurPer = 5 AND @IsPostingFwd<>'Y' THEN [NOM].[Month5]+([TBH].[Outlaytotal] * -1 * @InvCrValue) ELSE [NOM].[Month5] END, [NOM].[Month6] = CASE WHEN @CurPer = 6 AND @IsPostingFwd<>'Y' THEN [NOM].[Month6]+([TBH].[Outlaytotal] * -1 * @InvCrValue) ELSE [NOM].[Month6] END, [NOM].[Month7] = CASE WHEN @CurPer = 7 AND @IsPostingFwd<>'Y' THEN [NOM].[Month7]+([TBH].[Outlaytotal] * -1 * @InvCrValue) ELSE [NOM].[Month7] END, [NOM].[Month8] = CASE WHEN @CurPer = 8 AND @IsPostingFwd<>'Y' THEN [NOM].[Month8]+([TBH].[Outlaytotal] * -1 * @InvCrValue) ELSE [NOM].[Month8] END, [NOM].[Month9] = CASE WHEN @CurPer = 9 AND @IsPostingFwd<>'Y' THEN [NOM].[Month9]+([TBH].[Outlaytotal] * -1 * @InvCrValue) ELSE [NOM].[Month9] END, [NOM].[Month10] = CASE WHEN @CurPer = 10 AND @IsPostingFwd<>'Y' THEN [NOM].[Month10]+([TBH].[Outlaytotal] * -1 * @InvCrValue) ELSE [NOM].[Month10] END, [NOM].[Month11] = CASE WHEN @CurPer = 11 AND @IsPostingFwd<>'Y' THEN [NOM].[Month11]+([TBH].[Outlaytotal] * -1 * @InvCrValue) ELSE [NOM].[Month11] END, [NOM].[Month12] = CASE WHEN @CurPer = 11 AND @IsPostingFwd<>'Y' THEN [NOM].[Month12]+([TBH].[Outlaytotal] * -1 * @InvCrValue) ELSE [NOM].[Month12] END FROM [dbo].[Nominal] [NOM] JOIN @tempBatchH [TBH] ON [NOM].[Code] = @DefaultOutlay INNER JOIN [dbo].[MatterLedger] [MAL] ON [MAL].[Matter] = [TBH].[Matter] AND [MAL].[BatchNo] = [TBH].[BatchNo] END /* INSERT INTO MATTER LEDGER -BATCH DETAILS */ INSERT INTO [dbo].[MatterLedger] ( [Matter], [BatchNo], [Pref], [Date], [Ref], [Narr], [ValueD], [ValueO], [ValueC], [Fee], [Per], [Year], [EntryDate], [Client], [ValueCC], [ValueCD], [DepositType], [CurValueD], [CurValueO], [CurValueC], [CurValueCC], [CurValueCD], [Billed], [BillingYear], [BillingPeriod], [BillingDate], [BilledOutlayValue], [InvoiceNo], [IncludeInBill], [ClearedDate] ) ( SELECT [TBH].[Matter] ,[TBD].[BatchNo] ,[TBD].[Pref] ,[TBD].[Date] ,[TBD].[Ref] ,CASE WHEN [TBH].[Invcr] ='C' THEN 'From Cr. Note' + ISNULL([TBH].[Ref],'') ELSE 'To Inv ' + ISNULL([TBH].[Ref],'') + ' ' + ISNULL([TBD].[Narr],'') END AS [Narr] ,0.00 ,[TBD].[Value] *-1* @InvCrValue ,0.00 ,[TBH].[Fee] ,[TBH].[PerNo] ,[TBH].[Year] ,CAST(GETDATE() AS DATE) AS [EntryDate] ,SUBSTRING([TBH].[Matter], 1, 6) ,0.00 ,0.00 ,'' ,0.00 ,[TBD].[CurrencyValue] *-1* @InvCrValue ,0.00 ,0.00 ,0.00 ,'' ,0 ,0 ,null ,0 ,0 ,0 ,[TBH].[ClearedDate] FROM @tempBatchDetails [TBD] INNER JOIN @tempBatchH [TBH] ON [TBH].[BatchNo] = [TBD].[BatchNo] WHERE [TBD].[Outlay] = 'O' ) /* UPDATE MATTER LEDGER VALUE*/ UPDATE [MAL] SET [MAL].[BilledOutlayValue] = [MAL].[ValueO] FROM [dbo].[MatterLedger] [MAL] JOIN @tempBatchH [TBH] ON [MAL].[Matter] = [TBH].[Matter] AND [MAL].[BatchNo] = [TBH].[BatchNo] /*UPDATE MATTER TABLE FOR OUTLAY */ UPDATE [MAT] SET [MAT].[OutlayBal] = ISNULL([MAT].[OutlayBal],0) + ISNULL([TBD].[Value] *-1 * @InvCrValue,0), [MAT].[CurOutlayBal] = ISNULL([MAT].[CurOutlayBal],0) + ISNULL([TBD].[CurrencyValue] * -1 * @InvCrValue,0), [MAT].[OutlayBalFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([MAT].[OutlayBalFwd],0) + ISNULL([TBD].[Value] * -1 * @InvCrValue,0) ELSE [MAT].[OutlayBalFwd] END, [MAT].[CurOutlayBalFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([MAT].[CurOutlayBalFwd],0) + ISNULL([TBD].[CurrencyValue] * -1 * @InvCrValue,0) ELSE [MAT].[CurOutlayBalFwd] END FROM [dbo].[matters] [MAT] INNER JOIN @tempBatchDetails [TBD] ON [MAT].[Code] = (SELECT DISTINCT [IBH].[Matter] FROM @tempBatchH [IBH] JOIN @tempBatchDetails [IBD] ON [IBD].[BatchNo] = [IBH].[BatchNo] ) WHERE [TBD].[Outlay] = 'O' /*UPDATE CONTACT TABLE FOR OUTLAY */ UPDATE [CON] SET [CON].[OutlayBal] = ISNULL([CON].[OutlayBal],0) + ISNULL([TBD].[Value] * -1 * @InvCrValue,0), [CON].[CurOutlayBal] = ISNULL([CON].[CurOutlayBal],0) + ISNULL([TBD].[CurrencyValue] * -1 * @InvCrValue,0) FROM [dbo].[Contacts] [CON] INNER JOIN @tempBatchH [TBH] ON [CON].[Code] = SUBSTRING([TBH].[Matter], 1, 6) INNER JOIN @tempBatchDetails [TBD] ON [TBD].[BatchNo] = [TBH].[BatchNo] WHERE [TBD].[Outlay] = 'O' /* INSERT NOMINAL LEDGER FOR DETAILS LINE INCLUDING CORRESPODING VAT*/ DECLARE @tempNominalLedger TABLE ( [Code] VARCHAR(10) NULL, [Branch] VARCHAR(3) NULL, [BatchNo] INT NULL, [Pref] INT NULL, [Date] DATETIME NULL, [Ref] VARCHAR(10) NULL, [Narr] VARCHAR(100) NULL, [Matter] VARCHAR(20) NULL, [Supp] VARCHAR(10) NULL, [Fee] VARCHAR(10) NULL, [Value] DECIMAL(17,2) NULL, [CurrencyValue] DECIMAL(17,2) NULL, [Per] SMALLINT NULL, [Year] SMALLINT NULL, [EntryDate] DATETIME NULL, [RecNo] INT NULL, [ClearedDate] DATETIME NULL, [VatCode] VARCHAR(20) NULL, [VatCodeValue] DECIMAL(17,2) NULL, [VatCodeCurrencyVat] DECIMAL(17,2) NULL ) INSERT INTO @tempNominalLedger SELECT [TBD].CODE, [TBD].BRANCH, [TBD].BATCHNO, [TBD].PREF, [TBD].[DATE], [TBD].REF, [TBD].NARR, [TBD].MATTER, [TBD].SUPP, [TBD].FEE, [TBD].[Value] * -1 *@InvCrValue AS [Value], [TBD].[CurrencyValue] * -1 * @InvCrValue AS [CurrencyValue], [TBD].PERNO, [TBD].[YEAR], CAST(GETDATE() AS DATE) AS [EntryDate], [TBH].RecNo, [TBH].[ClearedDate], @VATControlCode AS [VatCode], [TBD].[VatVal] *-1 * @InvCrValue AS [VatCodeValue], [TBD].[CurrencyVat] * -1 * @InvCrValue AS [VatCodeCurrencyVat] FROM @tempBatchDetails [TBD] LEFT JOIN @tempBatchH [TBH] ON [TBH].[BatchNo]=[TBD].[BatchNo] INSERT INTO [dbo].[NominalLedger] ( [Code], [Branch], [BatchNo], [Pref], [Date], [Ref], [Narr], [Matter], [Supp], [Fee], [Value], [CurrencyValue], [Per], [Year], [EntryDate], [RecNo], [ClearedDate] ) ( SELECT CA.Code, CA.Branch, CA.BatchNo, CA.Pref, CA.[Date], CA.Ref, CA.Narr, CA.Matter, CA.Supp, CA.Fee, CA.[Value], CA.[CurrencyValue], CA.Per, CA.[Year], CA.[EntryDate], CA.RecNo, CA.ClearedDate FROM @tempNominalLedger CROSS APPLY ( VALUES (Code,BatchNo,Branch,Pref,[Date],Ref,Narr,Matter,Supp,Fee,[Value],[CurrencyValue],Per,[Year],[EntryDate],RecNo,ClearedDate), (VATCode,BatchNo,Branch,Pref,[Date],Ref,'VAT on Invoice/Cr Note '+ ISNULL(Ref,''),Matter,Supp,Fee,VatCodeValue,VatCodeCurrencyVat,Per,[Year],[EntryDate],RecNo,ClearedDate) ) AS CA (Code,BatchNo,Branch,Pref,[Date],Ref,Narr,Matter,Supp,Fee,[Value],[CurrencyValue],Per,[Year],[EntryDate],RecNo,ClearedDate) ) /* INSERT INTO MATTER LEDGER - DEBTORS LOGIC*/ INSERT INTO [dbo].[MatterLedger] ( [Matter], [BatchNo], [Pref], [Date], [Ref], [Narr], [ValueD], [ValueO], [ValueC], [Fee], [Per], [Year], [EntryDate], [Client], [ValueCC], [ValueCD], [DepositType], [CurValueD], [CurValueO], [CurValueC], [CurValueCC], [CurValueCD], [Billed], [BillingYear], [BillingPeriod], [BillingDate], [BilledOutlayValue], [InvoiceNo], [IncludeInBill], [ClearedDate] ) ( SELECT [TBH].[Matter] ,[TBH].[BatchNo] ,[TBH].[Pref] ,[TBH].[Date] ,[TBH].[Ref] ,CASE WHEN [TBH].[Invcr] = 'C' THEN 'Cr. Note: Fees:' + CONVERT(VARCHAR,CONVERT(DECIMAL(17,2),[TBH].[Feetotal])) + ' Outlay:' + CONVERT(VARCHAR,CONVERT(DECIMAL(17,2),[TBH].[Outlaytotal])) + ' VAT:' + CONVERT(VARCHAR,CONVERT(DECIMAL(17,2),[TBH].[VatTotal])) ELSE 'Invoice: Fees:' + CONVERT(VARCHAR,CONVERT(DECIMAL(17,2),[TBH].[Feetotal])) + ' Outlay:' + CONVERT(VARCHAR,CONVERT(DECIMAL(17,2),[TBH].[Outlaytotal])) + ' VAT:' + CONVERT(VARCHAR,CONVERT(DECIMAL(17,2),[TBH].[VatTotal])) END AS [Narr] ,[TBH].[Value] * @InvCrValue ,0.00 ,0.00 ,[TBH].[Fee] ,[TBH].[PerNo] ,[TBH].[Year] ,CAST(GETDATE() AS DATE) ,SUBSTRING([TBH].[Matter], 1, 6) ,0.00 ,0.00 ,'' ,[TBH].[CurrencyValue] * @InvCrValue ,0.00 ,0.00 ,0.00 ,0.00 ,'' ,0 ,0 ,null ,0 ,0 ,0 ,[TBH].[ClearedDate] FROM @tempBatchH [TBH] ) /* UPDATE MATTER LEDGER VALUE*/ UPDATE [MAL] SET [MAL].[BilledOutlayValue] = [MAL].[ValueO] FROM [dbo].[MatterLedger] [MAL] JOIN @tempBatchH [TBH] ON [MAL].[Matter] = [TBH].[Matter] AND [MAL].[BatchNo] = [TBH].[BatchNo] /* UPDATE MATTER TABLE DEBTORS*/ UPDATE [MAT] SET [MAT].[DebtBal] = ISNULL([MAT].[DebtBal],0) + ISNULL([TBH].[Value] * @InvCrValue ,0), [MAT].[CurDebtBal] = ISNULL([MAT].[DebtBal],0) * 0.787564, [MAT].[DebtBalFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([MAT].[DebtBalFwd],0) + ISNULL([TBH].[Value] * @InvCrValue,0) ELSE ISNULL([MAT].[DebtBalFwd],0) END, [MAT].[CurDebtBalFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([MAT].[DebtBalFwd] * 0.787564,0) ELSE ISNULL([MAT].[CurDebtBalFwd],0) END, [MAT].[FNL_Date] = 0, [MAT].[FNL_Name] = '', [MAT].[FNL_Address] = '', [MAT].[FNL_Fees] = 0, [MAT].[FNL_Outlay] = 0, [MAT].[FNL_VAT] = 0, [MAT].[FNL_Total] = 0, [MAT].[LastAct] = CAST(GETDATE() AS DATE), [MAT].[LastActType] = 'Inv/CrNote', [MAT].[EstFee] = 0, [MAT].[ExpBillD] = 0, [MAT].[ExpPayD] = [TBH].[Date] + 30 FROM [dbo].[matters] [MAT] INNER JOIN @tempBatchH [TBH] ON [MAT].[Code] = [TBH].[Matter] /* UPDATE CONTACT FOR DEBTORS*/ UPDATE [CON] SET [CON].[BillBal] = [CON].[BillBal] + ISNULL([TBH].[Value] * @InvCrValue,0), [CON].[CurBillBal] = [CON].[CurBillBal] + ISNULL([TBH].[CurrencyValue] * @InvCrValue,0) FROM [dbo].[Contacts] [CON] INNER JOIN @tempBatchH [TBH] ON [CON].[Code] = SUBSTRING([TBH].[Matter], 1, 6) /* INSERT NOMINAL LEDGER FOR DEBTORS */ INSERT INTO [dbo].[NominalLedger] ( [Code], [Branch], [BatchNo], [Pref], [Date], [Ref], [Narr], [Matter], [Supp], [Fee], [Value], [CurrencyValue], [Per], [Year], [EntryDate], [RecNo], [ClearedDate] ) ( SELECT @DebtorsControlCode AS [Code], [TBH].[Branch], [TBH].[BatchNo], [TBH].[Pref], [TBH].[Date], [TBH].[Ref], [TBH].[Narr], [TBH].[Matter], [TBH].[Supp], [TBH].[Fee], ISNULL([TBH].[Value] * @InvCrValue,0) AS [Value], ISNULL([TBH].[CurrencyValue] * @InvCrValue,0) AS [CurrencyValue], [TBH].[PerNo], [TBH].[Year], CAST(GETDATE() AS DATE) AS [EntryDate], [TBH].[RecNo], [TBH].[ClearedDate] FROM @tempBatchH [TBH] ) /* UPDATE NOMINAL BALANCE FOR DEBTORS */ UPDATE [NOM] SET [NOM].[Balance] = ISNULL([NOM].[Balance],0)+([TBH].[Value] * @InvCrValue), [NOM].[CurrencyBal] = ISNULL([NOM].[CurrencyBal],0)+([TBH].[CurrencyValue] * @InvCrValue), [NOM].[BalanceFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([NOM].[BalanceFwd],0)+([TBH].[Value] * @InvCrValue) ELSE ISNULL([NOM].[BalanceFwd],0) END, [NOM].[CurrencyBalFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([NOM].[CurrencyBalFwd],0)+([TBH].[CurrencyValue] * @InvCrValue) ELSE ISNULL([NOM].[CurrencyBalFwd],0) END, [NOM].[Month1] = CASE WHEN @CurPer = 1 AND @IsPostingFwd<>'Y' THEN [NOM].[Month1]+([TBH].[Value] * @InvCrValue) ELSE [NOM].[Month1] END, [NOM].[Month2] = CASE WHEN @CurPer = 2 AND @IsPostingFwd<>'Y' THEN [NOM].[Month2]+([TBH].[Value] * @InvCrValue) ELSE [NOM].[Month2] END, [NOM].[Month3] = CASE WHEN @CurPer = 3 AND @IsPostingFwd<>'Y' THEN [NOM].[Month3]+([TBH].[Value] * @InvCrValue) ELSE [NOM].[Month3] END, [NOM].[Month4] = CASE WHEN @CurPer = 4 AND @IsPostingFwd<>'Y' THEN [NOM].[Month4]+([TBH].[Value] * @InvCrValue) ELSE [NOM].[Month4] END, [NOM].[Month5] = CASE WHEN @CurPer = 5 AND @IsPostingFwd<>'Y' THEN [NOM].[Month5]+([TBH].[Value] * @InvCrValue) ELSE [NOM].[Month5] END, [NOM].[Month6] = CASE WHEN @CurPer = 6 AND @IsPostingFwd<>'Y' THEN [NOM].[Month6]+([TBH].[Value] * @InvCrValue) ELSE [NOM].[Month6] END, [NOM].[Month7] = CASE WHEN @CurPer = 7 AND @IsPostingFwd<>'Y' THEN [NOM].[Month7]+([TBH].[Value] * @InvCrValue) ELSE [NOM].[Month7] END, [NOM].[Month8] = CASE WHEN @CurPer = 8 AND @IsPostingFwd<>'Y' THEN [NOM].[Month8]+([TBH].[Value] * @InvCrValue) ELSE [NOM].[Month8] END, [NOM].[Month9] = CASE WHEN @CurPer = 9 AND @IsPostingFwd<>'Y' THEN [NOM].[Month9]+([TBH].[Value] * @InvCrValue) ELSE [NOM].[Month9] END, [NOM].[Month10] = CASE WHEN @CurPer = 10 AND @IsPostingFwd<>'Y' THEN [NOM].[Month10]+([TBH].[Value] * @InvCrValue) ELSE [NOM].[Month10] END, [NOM].[Month11] = CASE WHEN @CurPer = 11 AND @IsPostingFwd<>'Y' THEN [NOM].[Month11]+([TBH].[Value] * @InvCrValue) ELSE [NOM].[Month11] END, [NOM].[Month12] = CASE WHEN @CurPer = 11 AND @IsPostingFwd<>'Y' THEN [NOM].[Month12]+([TBH].[Value] * @InvCrValue) ELSE [NOM].[Month12] END FROM [dbo].[Nominal] [NOM] JOIN @tempBatchH [TBH] ON [NOM].[Code] = @DebtorsControlCode /* INSERT DEBTORS LEDGER */ INSERT INTO [dbo].[DebtorsLedger] ( [Matter], [Type], [Client], [Date], [Ref], [BatchNo], [Pref], [Narr], [Original], [OsValue], [OrFees], [OrOutlay], [OrVat], [OsFees], [OsOutlay], [OsVat], [Per], [Year] ) ( SELECT [TBH].[Matter], [TBH].[Type], SUBSTRING([TBH].[Matter], 1, 6) AS [Client], [TBH].[Date], [TBH].[Ref], [TBH].[BatchNo], [TBH].[Pref], [TBH].[Narr], [TBH].[Value] * @InvCrValue AS [Original], [TBH].[Value] * @InvCrValue AS [OsValue], [TBH].[Feetotal] * @InvCrValue AS [OrFees], [TBH].[Outlaytotal] * @InvCrValue AS [OrOutlay], [TBH].[VatTotal] * @InvCrValue AS [OrVat], [TBH].[Feetotal] * @InvCrValue AS [OsFees], [TBH].[Outlaytotal] * @InvCrValue AS [OsOutlay], [TBH].[VatTotal] * @InvCrValue AS [OsVat], [TBH].[PerNo] AS [Per], [TBH].[Year] FROM @tempBatchH [TBH] ) /* INSERT INTO COST TRANSFER GATHERING IF IT IS THRID PARTY */ INSERT INTO [dbo].[CostTransGathering] ( [Date], [Matter], [Value], [EntryCurrency], [CurrencyValue], [AllocBatch], [AllocPRef], [AllocRef], [AllocValue], [AllocWriteOff] ) ( SELECT [TBH].[Date], [TBH].[Matter], [TBH].[Value], [TBH].[Currency], [TBH].[CurrencyValue], [TBH].[BatchNo], [TBH].[PRef], [TBH].[Ref], [TBH].[Value], 'N'AS [AllocWriteOff] FROM @tempBatchH [TBH] WHERE ISNULL([TBH].[ThirdParty],'')='Y' ) /* TIME COSTING LOGIC*/ IF(@TimeCosting = 'Y' AND @BatchFeeTotal<>0) BEGIN IF(@InvCr = 'C') BEGIN SELECT @TimeTotal = - [TBH].[WriteBackHours] * 60, @TimeValue = - [TBH].[WriteBackValue] FROM @tempBatchH [TBH] END ELSE BEGIN SELECT @TimeTotal = SUM(CASE WHEN [TIE].[InvoiceNo] = 0 THEN 0 ELSE CASE WHEN ISNULL([TIE].[Rec_irr],'') <>'N' THEN [TIE].[Time] ELSE 0 END END), @TimeValue = SUM(CASE WHEN [TIE].[InvoiceNo] = 0 THEN 0 ELSE CASE WHEN ISNULL([TIE].[Rec_irr],'') <>'N' THEN [TIE].[Charge] ELSE 0 END END) FROM [dbo].[TimeEntry] [TIE] WITH(NOLOCK) JOIN @tempBatchH [TBH] ON [TIE].[Matter] = [TBH].[Matter] --AND [TIE].[Date] = 4 END /* Hear We need to have the Bill Fee total JUST the Normal FEEs ie do not include the Misc Outlay we will get this from the billDetails Type = 'F'...*/ DECLARE @BHFeesTol DECIMAL(17,2) = 0; SELECT @BHFeesTol = ISNULL(SUM(Net),0) FROM [dbo].[BillDetails] [BID] WHERE ISNULL([BID].[Type],'') = 'F' AND [BID].[DraftNo] = (SELECT DISTINCT [TBH].[DraftBillNo] FROM @tempBatchH [TBH]) INSERT INTO [dbo].[TimeEntry] ( [Matter], [FeeEarn], [Date], [Time], [Rate], [Charge], [Charged], [Units], [Task], [TimeOrCharge], [Comment], [Billed], [NCCode], [Docket], [Team], [TrackRef], [Rec_Irr], [ShouldHave], [InvoiceNo], [Period], [Year], [BillingPeriod], [BillingYear], [OpenInv], [ActionID], [StageCode], [BillingDate], [BilledDate], [BilledAmount], [AxleNumber], [WriteOffDT], [WriteOffID], [IncludeInBill], [Leave], [MatterLevel], [FEERate], [ChargedMins], [FEECost], [TaskLevel], [WriteOff], [Branch], [EntryDate], [ModifyDate] ) ( SELECT [TBH].[Matter], [MAT].[FECode], [TBH].[WriteDown], 0, 0, CASE WHEN @BHSupp='Y' THEN @BHFeesTol *-1 WHEN @InvCr='C' AND @BHSupp<>'Y' THEN @BHFeesTol ELSE @BHFeesTol * -1 END, CASE WHEN @BHSupp='Y' THEN @BatchFeeTotal *-1 WHEN @InvCr='C' AND @BHSupp<>'Y' THEN @BHFeesTol ELSE @BHFeesTol * 1 END, 1, CASE WHEN @BHSupp='Y' THEN 'BILLED' WHEN @InvCr='C' AND @BHSupp<>'Y' THEN 'CREDIT' ELSE 'BILLED' END, 'B', CASE WHEN @BHSupp='Y' THEN 'Open Invoice: (Total: '+CONVERT(VARCHAR,[TBH].[Value])+', Billed Fees:'+CONVERT(VARCHAR,@BHFeesTol)+ ')' WHEN @InvCr='C' AND @BHSupp<>'Y' THEN 'Cr. Note Fees: ' + CONVERT(VARCHAR,@BHFeesTol) ELSE 'Billed Fees: ' + CONVERT(VARCHAR,@BHFeesTol) END, 0, '', 0, [HAN].[Team], 0, 'C', 0, [TBH].[Ref], [TBH].[PerNo], [TBH].[Year], 0, 0, CASE WHEN @BHSupp='Y' THEN 'Y' WHEN @InvCr='C' AND @BHSupp<>'Y' THEN 'N' ELSE 'N' END , 0, '', [TBH].[Date], [TBH].[Date], 0, 0, null, null, 0, null, null, null, null, null, null, null, null, CAST(GETDATE() AS DATE), CAST(GETDATE() AS DATE) FROM @tempBatchH [TBH] JOIN [dbo].[Matters] [MAT] WITH(NOLOCK) ON [MAT].[Code] = [TBH].[Matter] JOIN [dbo].[Handlers] [HAN] WITH(NOLOCK) ON [HAN].[Code]= [MAT].[FECode] ) END DECLARE @BatchNo INT, @Type VARCHAR(1), @Code VARCHAR(10), @Pref INT, @Ref VARCHAR(10), @Date DATETIME, @Fee VARCHAR(10), @Branch VARCHAR(3), @Narr VARCHAR(100), @Matter VARCHAR(20), @Supp VARCHAR(10), @Value DECIMAL(17, 2), @VatCode VARCHAR(1), @VatVal DECIMAL(17, 2), @ClientYN VARCHAR(1), @Outlay VARCHAR(1), @Pending VARCHAR(1), @Year SMALLINT, @PerNo SMALLINT, @EntryCurrency VARCHAR(1), @CurrencyValue DECIMAL(17, 2) , @CurrencyVat DECIMAL(17, 2) , @OutlayCode VARCHAR(4), @ThirdParty VARCHAR(1), @Payee VARCHAR(60), @HeadPref INT, @HeadBatch INT, @AllocBatch INT, @AllocPref INT, @AllocRef VARCHAR(10), @AllocValue DECIMAL(17, 2), @AllocWriteOff VARCHAR(1), @Psupp VARCHAR(10), @Undetaking SMALLINT, @CaseAssCode VARCHAR(6), @OnceOffPayment VARCHAR(1), @PayClient VARCHAR(1), @ClientCode VARCHAR(10), @EFTemailYorN VARCHAR(1), @RegisteredPost INT, @PreBilledOutlay BIT, @KeyId INT, @ClientAc VARCHAR(1), @EntryDate DATETIME, @ClientBank VARCHAR(20), @Currency VARCHAR(10), @EFTSend VARCHAR(1), @EFTYorN VARCHAR(1), @ClearedDate DATETIME, @BatchHCode VARCHAR(10) DECLARE batchDetails_Cursor CURSOR FOR SELECT [TBD].[BatchNo], [TBD].[Type], [TBD].[Code], [TBD].[Pref], [TBD].[Ref], [TBD].[Date], [TBD].[Fee], [TBD].[Branch], [TBD].[Narr], [TBD].[Matter], [TBD].[Supp], [TBD].[Value], [TBD].[VatCode], [TBD].[VatVal], [TBD].[ClientYN], [TBD].[Outlay], [TBD].[Pending], [TBD].[Year], [TBD].[PerNo], [TBD].[EntryCurrency], [TBD].[CurrencyValue], [TBD].[CurrencyVat], [TBD].[OutlayCode], [TBD].[ThirdParty], [TBD].[Payee], [TBD].[HeadPref], [TBD].[HeadBatch], [TBD].[AllocBatch], [TBD].[AllocPref], [TBD].[AllocRef], [TBD].[AllocValue], [TBD].[AllocWriteOff], [TBD].[Psupp], [TBD].[Undetaking], [TBD].[CaseAssCode], [TBD].[OnceOffPayment], [TBD].[PayClient], [TBD].[ClientCode], [TBD].[EFTemailYorN], [TBD].[RegisteredPost], [TBD].[PreBilledOutlay], [TBD].[KeyId], [TBH].[ClientAc], [TBH].[EntryDate], [TBH].[ClientBank], [TBH].[Currency], [TBH].[EFTSent], [TBH].[EFT], [TBH].[ClearedDate], [TBH].[Code] FROM @tempBatchDetails [TBD] JOIN @tempBatchH [TBH] ON [TBH].[BatchNo] = [TBD].[BatchNo] OPEN batchDetails_Cursor FETCH NEXT FROM batchDetails_Cursor INTO @BatchNo, @Type, @Code, @Pref, @Ref, @Date, @Fee, @Branch, @Narr, @Matter, @Supp, @Value, @VatCode, @VatVal, @ClientYN, @Outlay, @Pending, @Year, @PerNo, @EntryCurrency, @CurrencyValue, @CurrencyVat, @OutlayCode, @ThirdParty, @Payee, @HeadPref, @HeadBatch, @AllocBatch, @AllocPref, @AllocRef, @AllocValue, @AllocWriteOff, @Psupp, @Undetaking, @CaseAssCode, @OnceOffPayment, @PayClient, @ClientCode, @EFTemailYorN, @RegisteredPost, @PreBilledOutlay, @KeyId, @ClientAc, @EntryDate, @ClientBank, @Currency, @EFTSend, @EFTYorN, @ClearedDate, @BatchHCode WHILE @@FETCH_STATUS = 0 BEGIN /* UPDATE NOMINAL BALANCE BY DETAILS LINE*/ UPDATE [NOM] SET [NOM].[Balance] = ISNULL([NOM].[Balance],0)+(@Value * -1 * @InvCrValue), [NOM].[CurrencyBal] = ISNULL([NOM].[CurrencyBal],0)+(@CurrencyValue * -1 * @InvCrValue), [NOM].[BalanceFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([NOM].[BalanceFwd],0)+(@Value * -1 * @InvCrValue) ELSE ISNULL([NOM].[BalanceFwd],0) END, [NOM].[CurrencyBalFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([NOM].[CurrencyBalFwd],0)+(@CurrencyValue * -1 * @InvCrValue) ELSE ISNULL([NOM].[CurrencyBalFwd],0) END, [NOM].[Month1] = CASE WHEN @CurPer = 1 AND @IsPostingFwd<>'Y' THEN [NOM].[Month1]+(@Value * -1 * @InvCrValue) ELSE [NOM].[Month1] END, [NOM].[Month2] = CASE WHEN @CurPer = 2 AND @IsPostingFwd<>'Y' THEN [NOM].[Month2]+(@Value * -1 * @InvCrValue) ELSE [NOM].[Month2] END, [NOM].[Month3] = CASE WHEN @CurPer = 3 AND @IsPostingFwd<>'Y' THEN [NOM].[Month3]+(@Value * -1 * @InvCrValue) ELSE [NOM].[Month3] END, [NOM].[Month4] = CASE WHEN @CurPer = 4 AND @IsPostingFwd<>'Y' THEN [NOM].[Month4]+(@Value * -1 * @InvCrValue) ELSE [NOM].[Month4] END, [NOM].[Month5] = CASE WHEN @CurPer = 5 AND @IsPostingFwd<>'Y' THEN [NOM].[Month5]+(@Value * -1 * @InvCrValue) ELSE [NOM].[Month5] END, [NOM].[Month6] = CASE WHEN @CurPer = 6 AND @IsPostingFwd<>'Y' THEN [NOM].[Month6]+(@Value * -1 * @InvCrValue) ELSE [NOM].[Month6] END, [NOM].[Month7] = CASE WHEN @CurPer = 7 AND @IsPostingFwd<>'Y' THEN [NOM].[Month7]+(@Value * -1 * @InvCrValue) ELSE [NOM].[Month7] END, [NOM].[Month8] = CASE WHEN @CurPer = 8 AND @IsPostingFwd<>'Y' THEN [NOM].[Month8]+(@Value * -1 * @InvCrValue) ELSE [NOM].[Month8] END, [NOM].[Month9] = CASE WHEN @CurPer = 9 AND @IsPostingFwd<>'Y' THEN [NOM].[Month9]+(@Value * -1 * @InvCrValue) ELSE [NOM].[Month9] END, [NOM].[Month10] = CASE WHEN @CurPer = 10 AND @IsPostingFwd<>'Y' THEN [NOM].[Month10]+(@Value * -1 * @InvCrValue) ELSE [NOM].[Month10] END, [NOM].[Month11] = CASE WHEN @CurPer = 11 AND @IsPostingFwd<>'Y' THEN [NOM].[Month11]+(@Value * -1 * @InvCrValue) ELSE [NOM].[Month11] END, [NOM].[Month12] = CASE WHEN @CurPer = 11 AND @IsPostingFwd<>'Y' THEN [NOM].[Month12]+(@Value * -1 * @InvCrValue) ELSE [NOM].[Month12] END FROM [dbo].[Nominal] [NOM] WHERE [NOM].[Code] = @Code /* UPDATE NOMINAL BALANCE BY VAT VALUE */ UPDATE [NOM] SET [NOM].[Balance] = ISNULL([NOM].[Balance],0)+(@VatVal * -1 * @InvCrValue), [NOM].[CurrencyBal] = ISNULL([NOM].[CurrencyBal],0)+(@CurrencyVat * -1 * @InvCrValue), [NOM].[BalanceFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([NOM].[BalanceFwd],0)+(@VatVal * -1 * @InvCrValue) ELSE ISNULL([NOM].[BalanceFwd],0) END, [NOM].[CurrencyBalFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([NOM].[CurrencyBalFwd],0)+(@CurrencyVat * -1 * @InvCrValue) ELSE ISNULL([NOM].[CurrencyBalFwd],0) END, [NOM].[Month1] = CASE WHEN @CurPer = 1 AND @IsPostingFwd<>'Y' THEN [NOM].[Month1]+(@VatVal * -1 * @InvCrValue) ELSE [NOM].[Month1] END, [NOM].[Month2] = CASE WHEN @CurPer = 2 AND @IsPostingFwd<>'Y' THEN [NOM].[Month2]+(@VatVal * -1 * @InvCrValue) ELSE [NOM].[Month2] END, [NOM].[Month3] = CASE WHEN @CurPer = 3 AND @IsPostingFwd<>'Y' THEN [NOM].[Month3]+(@VatVal * -1 * @InvCrValue) ELSE [NOM].[Month3] END, [NOM].[Month4] = CASE WHEN @CurPer = 4 AND @IsPostingFwd<>'Y' THEN [NOM].[Month4]+(@VatVal * -1 * @InvCrValue) ELSE [NOM].[Month4] END, [NOM].[Month5] = CASE WHEN @CurPer = 5 AND @IsPostingFwd<>'Y' THEN [NOM].[Month5]+(@VatVal * -1 * @InvCrValue) ELSE [NOM].[Month5] END, [NOM].[Month6] = CASE WHEN @CurPer = 6 AND @IsPostingFwd<>'Y' THEN [NOM].[Month6]+(@VatVal * -1 * @InvCrValue) ELSE [NOM].[Month6] END, [NOM].[Month7] = CASE WHEN @CurPer = 7 AND @IsPostingFwd<>'Y' THEN [NOM].[Month7]+(@VatVal * -1 * @InvCrValue) ELSE [NOM].[Month7] END, [NOM].[Month8] = CASE WHEN @CurPer = 8 AND @IsPostingFwd<>'Y' THEN [NOM].[Month8]+(@VatVal * -1 * @InvCrValue) ELSE [NOM].[Month8] END, [NOM].[Month9] = CASE WHEN @CurPer = 9 AND @IsPostingFwd<>'Y' THEN [NOM].[Month9]+(@VatVal * -1 * @InvCrValue) ELSE [NOM].[Month9] END, [NOM].[Month10] = CASE WHEN @CurPer = 10 AND @IsPostingFwd<>'Y' THEN [NOM].[Month10]+(@VatVal * -1 * @InvCrValue) ELSE [NOM].[Month10] END, [NOM].[Month11] = CASE WHEN @CurPer = 11 AND @IsPostingFwd<>'Y' THEN [NOM].[Month11]+(@VatVal * -1 * @InvCrValue) ELSE [NOM].[Month11] END, [NOM].[Month12] = CASE WHEN @CurPer = 11 AND @IsPostingFwd<>'Y' THEN [NOM].[Month12]+(@VatVal * -1 * @InvCrValue) ELSE [NOM].[Month12] END FROM [dbo].[Nominal] [NOM] WHERE [NOM].[Code] = @Code FETCH NEXT FROM batchDetails_Cursor INTO @BatchNo, @Type, @Code, @Pref, @Ref, @Date, @Fee, @Branch, @Narr, @Matter, @Supp, @Value, @VatCode, @VatVal, @ClientYN, @Outlay, @Pending, @Year, @PerNo, @EntryCurrency, @CurrencyValue, @CurrencyVat, @OutlayCode, @ThirdParty, @Payee, @HeadPref, @HeadBatch, @AllocBatch, @AllocPref, @AllocRef, @AllocValue, @AllocWriteOff, @Psupp, @Undetaking, @CaseAssCode, @OnceOffPayment, @PayClient, @ClientCode, @EFTemailYorN, @RegisteredPost, @PreBilledOutlay, @KeyId, @ClientAc, @EntryDate, @ClientBank, @Currency, @EFTSend, @EFTYorN, @ClearedDate, @BatchHCode END CLOSE batchDetails_Cursor; DEALLOCATE batchDetails_Cursor; /* UPDATE BATCHH DETAILS AS POSTED */ IF(@TimeCosting = 'Y') BEGIN UPDATE [MAT] SET [MAT].[OpenInvoiceNo] = [BIH].[BillNo] FROM [dbo].[Matters] [MAT] JOIN @tempBatchH [TBH] ON [MAT].[Code] = [TBH].[Matter] LEFT JOIN [dbo].[BillHeader] [BIH] ON [BIH].[Matter] = [TBH].[Matter] AND [BIH].[BillNo] = [TBH].[Ref] AND [BIH].[DraftNo] = [TBH].[DraftBillNo] END UPDATE [dbo].[BatchH] SET [Posted] = 'Y', [PostFwd] = CASE WHEN @IsPostingFwd = 'Y' THEN 'Y' ELSE 'N' END WHERE [BatchNo] = @PostedBatchNo /* Update Time and Outlay for this invoice Update the Time/Outlay based on the Billing Guide */ DECLARE @BatchHMatter VARCHAR(12) = '', @MCode VARCHAR(12) = '', @CompBillingMatter VARCHAR(12) = '', @BGControlCnt INT = 0; SELECT @BatchHMatter = [TBH].[Matter], @MCode = [MAT].[Code], @CompBillingMatter = [MAT].[CompBillingMatter] FROM @tempBatchH [TBH] JOIN [dbo].[Matters] [MAT] WITH(NOLOCK) ON [MAT].Code = [TBH].[Matter] IF(@InvCr = 'I') BEGIN EXEC [dbo].[KAAS_SAMBillingGuideProcess] @PostedBatchNo /* If this is a Composite Bill in to post the composite Journal */ IF(@BatchHMatter = @MCode AND @MCode = @CompBillingMatter) BEGIN EXEC [dbo].[KAAS_SAMBillingGuideTransfer] @PostedBatchNo END END IF(@InvCr = 'C') BEGIN IF(@CreditInvoiceNo <> 0) BEGIN EXEC [dbo].[KAAS_SAMBillingGuideReset] @CreditInvoiceNo END IF(@BatchHMatter = @MCode AND @MCode = @CompBillingMatter) BEGIN EXEC [dbo].[KAAS_SAMBillingGuideReverseTransfer] @PostedBatchNo END /* Check BGControl for Batch.*/ IF(@DraftBillNo = 0 AND @CreditInvoiceNo IS NOT NULL) BEGIN SET @BGControlCnt = (SELECT COUNT(*) from [dbo].[BGControl] Where [BatchNo] = @PostedBatchNo) /* update TimeEntry Set all time with invoice number and date back to ZERO */ IF(@BGControlCnt = 0) BEGIN UPDATE [TIE] SET [TIE].[InvoiceNo] = 0, [TIE].[BilledAmount] = 0, [TIE].[BillingPeriod] = 0, [TIE].[BillingYear] = 0 FROM [dbo].[TimeEntry] [TIE] JOIN @tempBatchH [TBH] ON [TIE].[Matter] = [TBH].[Matter] AND [TIE].[InvoiceNo] = [TBH].[CreditInvoiceNo] AND [TIE].[TimeOrCharge] <> 'B' AND [TIE].[DATE] = [TBH].[WriteDown] END END END /* Update the Matter Time & charge Balances */ EXEC [KAAS_SAMUpdateMatterTimeBalance] @MatterCode COMMIT TRAN END TRY BEGIN CATCH ROLLBACK TRAN END CATCH END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_UpdatePostingSAMBankTransfer' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_UpdatePostingSAMBankTransfer] END GO CREATE PROCEDURE [dbo].[KAAS_UpdatePostingSAMBankTransfer] ( @PostedBatchNo INT = 0, @PostedType VARCHAR(1) = '', @IsPostingFwd VARCHAR(1) = '', @HandlerName VARCHAR(20) = '' ) AS /******************************************************************************************************* * Update Bank Tranfer Posting Logic * * * * Stored Procedure Name : [dbo].[KAAS_UpdatePostingSAMBankTransfer] * * * * Modification History: * * 2021-11-18 Balamurugan C Created * *******************************************************************************************************/ BEGIN BEGIN TRY BEGIN TRAN -- /* SELECT BATCH HEADER AND INSERT INTO TABLE VARIBALE*/ DECLARE @tempBatchH TABLE ([BatchNo] [int] NOT NULL, [Type] [char](1) NULL, [Code] [char](10) NULL, [Ref] [char](10) NULL, [Date] [datetime] NULL, [Matter] [varchar](20) NULL, [SubTotal] [decimal](17, 2) NULL, [Supp] [char](10) NULL, [Narr] [char](150) NULL, [Value] [decimal](17, 2) NULL, [CurrencyValue] [decimal](17, 2) NULL, [Posted] [char](1) NULL, [Branch] [varchar](3) NULL, [PerNo] [smallint] NULL, [Year] [smallint] NULL, [EntryDate] [datetime] NULL, [RecNo] [int] NULL, [ChequeReqNo] [int] NULL, [UserCode] [char](8) NULL, [Pref] [int] NULL, [ClientAc] [char](1) NULL, [EFT] [char](1) NOT NULL, [ClientBank] [char](10) NULL, [ThirdParty] [char](1) NULL, [Payee] [char](60) NULL, [EFTSent] [char](1) NOT NULL, [PayClient] [char](1) NOT NULL, [OnceOffPayment] [char](1) NOT NULL, [ClientCode] [varchar](10) NULL, [Feetotal] [decimal](17, 2) NULL, [Outlaytotal] [decimal](17, 2) NULL, [VatTotal] [decimal](17, 2) NULL, [WriteDown] [datetime] NULL, [WriteBackHours] [decimal](7, 2) NULL, [WriteBackValue] [decimal](13, 2) NULL, [CreditInvoiceNo][int] NULL, [Invcr] [char](1) NULL, [Fee] [varchar](10) NULL, [PaymentMethod] [int] NULL, [ClearedDate] [datetime] NULL) INSERT INTO @tempBatchH SELECT [BAH].[BatchNo], RTRIM(ISNULL([BAH].[Type],'')), [BAH].[Code], RTRIM(ISNULL([BAH].[Ref],'')), dbo.KEYHM_FNConvertUTCDateToTargetTimeZone([BAH].[Date], @HandlerName), [BAH].[Matter], [BAH].[SUBTOT], [BAH].[Supp], [BAH].[Narr], [BAH].[Value], [BAH].[CurrencyValue], [BAH].[Posted], [BAH].[Branch], [BAH].[PerNo], [BAH].[Year], dbo.KEYHM_FNConvertUTCDateToTargetTimeZone([BAH].[EntryDate], @HandlerName) AS [EntryDate], [BAH].[RecNo], [BAH].[ChequeReqNo], [BAH].[UserCode], [BAH].[Pref], [BAH].[ClientAc], [BAH].[EFTYorN], [BAH].[CLIENTBANK], [BAH].[ThirdParty], [BAH].[Payee], [BAH].[EFTSent], [BAH].[PayClient], [BAH].[OnceOffPayment], [BAH].[ClientCode], [BAH].[FEETOT], [BAH].[OUTLAYTOT], [BAH].[VATTOT], [BAH].[WRITEDOWN], [BAH].[WRITEBACKHOURS], [BAH].[WRITEBACKVALUE], [BAH].[CREDITINVOICENO], [BAH].[INVCR], [BAH].[FEE], [BAH].[PaymentMethod], [BAH].[ClearedDate] FROM [dbo].[BatchH] [BAH] WITH(NOLOCK) WHERE [BAH].[BatchNo] = @PostedBatchNo /* SELECT BATCH DETAILS AND INSERT INTO TEMP TABLE VARIBLE*/ DECLARE @tempBatchDetails TABLE ( [BatchNo] [INT] NOT NULL, [Type] [CHAR](1) NULL, [Code] [CHAR](10) NULL, [Pref] [INT] NULL, [Ref] [CHAR](10) NULL, [Date] [DATETIME] NULL, [Fee] [VARCHAR](10) NULL, [Branch] [VARCHAR](3) NULL, [Narr] [CHAR](100) NULL, [Matter] [VARCHAR](20) NULL, [Supp] [CHAR](10) NULL, [Value] [DECIMAL](17, 2) NULL, [VatCode] [CHAR](1) NULL, [VatVal] [DECIMAL](17, 2) NULL, [ClientYN] [CHAR](1) NULL, [Outlay] [CHAR](1) NULL, [Pending] [CHAR](1) NULL, [Year] [SMALLINT] NULL, [PerNo] [SMALLINT] NULL, [EntryCurrency] [CHAR](1) NULL, [CurrencyValue] [DECIMAL](17, 2) NULL, [CurrencyVat] [DECIMAL](17, 2) NULL, [OutlayCode] [CHAR](4) NULL, [ThirdParty] [CHAR](1) NULL, [Payee] [CHAR](60) NULL, [HeadPref] [INT] NULL, [HeadBatch] [INT] NULL, [AllocBatch] [INT] NULL, [AllocPref] [INT] NULL, [AllocRef] [CHAR](10) NULL, [AllocValue] [DECIMAL](17, 2) NULL, [AllocWriteOff] [CHAR](1) NULL, [Psupp] [CHAR](10) NULL, [Undetaking] [SMALLINT] NULL, [CaseAssCode] [VARCHAR](6) NULL, [OnceOffPayment] [CHAR](1) NOT NULL, [PayClient] [CHAR](1) NOT NULL, [ClientCode] [VARCHAR](10) NULL, [EFTemailYorN] [CHAR](1) NOT NULL, [RegisteredPost] [INT] NULL, [PreBilledOutlay] [BIT] NOT NULL, [KeyId] [INT] NOT NULL ) INSERT INTO @tempBatchDetails SELECT [BATCHNO], [TYPE], [CODE], [PREF], [REF], [DATE], [FEE], [BRANCH], [NARR], [MATTER], [SUPP], [VALUE], [VATCODE], [VATVAL], [CLIENTYN], [OUTLAY], [PENDING], [YEAR], [PERNO], [ENTRYCURRENCY], [CURRENCYVALUE], [CURRENCYVAT], [OUTLAYCODE], [THIRDPARTY], [PAYEE], [HEADPREF], [HEADBATCH], [ALLOCBATCH], [ALLOCPREF], [ALLOCREF], [ALLOCVALUE], [ALLOCWRITEOFF], [PSUPP], [UNDETAKING], [CaseAssCode], [OnceOffPayment], [PayClient], [ClientCode], [EFTEmailYorN], [RegisteredPost], [PreBilledOutlay], [KEYID] FROM [dbo].[BatchDetails] WITH(NOLOCK) WHERE [BATCHNO] = @PostedBatchNo DECLARE @VATControlCode VARCHAR(20) = '', @ClientControlCode VARCHAR(20) = '', @CurPer INT = 0, @DepositAcct VARCHAR(1) = ''; SET @DepositAcct = (SELECT DISTINCT [NOM].[DEPOSITYN] FROM [dbo].[Nominal] [NOM] JOIN @tempBatchH [TBH] ON RTRIM([NOM].[Code]) = RTRIM([TBH].Code) ) SELECT @CurPer = [CurPer] FROM [dbo].[Control] /*INSERT INTO MATTER LEDGER TABLE*/ DECLARE @BatchNo INT , @Type VARCHAR(20), @Code VARCHAR(50), @Pref INT, @Ref VARCHAR(10), @Date DATETIME, @Fee VARCHAR(30), @Narr VARCHAR(200), @Matter VARCHAR(10), @Value DECIMAL(18,2), @VatCode VARCHAR(1), @VatVal DECIMAL(18,2), @Outlay VARCHAR(1), @Year INT, @PerNo INT, @EntryCurr VARCHAR(1), @CurrValue DECIMAL(18,2), @CurrVat DECIMAL(18,2), @ClearedDate DATETIME DECLARE batchDetails_Cursor CURSOR FOR SELECT [TBD].[BatchNo], [TBD].[Type], [TBD].[Code], [TBD].[Pref], [TBD].[Ref], [TBD].[Date], [TBD].[Fee], [TBD].[Narr], [TBD].[Matter], [TBD].[Value], [TBD].[VatCode], [TBD].[VatVal], [TBD].[Outlay], [TBD].[Year], [TBD].[PerNo], [TBD].[EntryCurrency], [TBD].[CurrencyValue], [TBD].[CurrencyVat], [TBH].[ClearedDate] FROM @tempBatchDetails [TBD] LEFT JOIN @tempBatchH [TBH] ON [TBH].[BatchNo] = [TBD].[BatchNo] WHERE [Outlay] <> 'N' ORDER BY [KeyId] OPEN batchDetails_Cursor FETCH NEXT FROM batchDetails_Cursor INTO @BatchNo, @Type, @Code, @Pref, @Ref, @Date, @Fee, @Narr, @Matter, @Value, @VatCode, @VatVal, @Outlay, @Year, @PerNo, @EntryCurr, @CurrValue, @CurrVat, @ClearedDate WHILE @@FETCH_STATUS = 0 BEGIN INSERT INTO [dbo].[MatterLedger] ( [Matter], [BatchNo], [Pref], [Date], [Ref], [Narr], [ValueD], [ValueO], [ValueC], [Fee], [Per], [Year], [EntryDate], [Client], [ValueCC], [ValueCD], [DepositType], [CurValueD], [CurValueO], [CurValueC], [CurValueCC], [CurValueCD], [Billed], [BillingYear], [BillingPeriod], [BillingDate], [BilledOutlayValue], [InvoiceNo], [IncludeInBill], [ClearedDate] ) VALUES ( @Matter ,@BatchNo ,@Pref ,@Date ,@Ref ,@Narr ,0.00 ,0.00 ,@Value * -1 ,@Fee ,@PerNo ,@Year ,@Date ,SUBSTRING(@Matter, 1, 6) ,CASE WHEN @Outlay='C' AND @DepositAcct <>'Y' THEN @Value * -1 ELSE 0.00 END ,CASE WHEN @Outlay='C' AND @DepositAcct ='Y' THEN @Value * -1 ELSE 0.00 END ,'DR' ,0.00 ,0.00 ,@CurrValue * -1 ,CASE WHEN @Outlay='C' AND @DepositAcct <>'Y' THEN @CurrValue * -1 ELSE 0.00 END ,CASE WHEN @Outlay='C' AND @DepositAcct ='Y' THEN @CurrValue * -1 ELSE 0.00 END ,'' ,0 ,0 ,null ,0.00 ,0 ,0 ,@ClearedDate ), ( @Matter ,@BatchNo ,@Pref ,@Date ,@Ref ,@Narr ,CASE WHEN @Outlay='D' THEN @Value ELSE 0.00 END ,CASE WHEN @Outlay='O' THEN @Value ELSE 0.00 END ,CASE WHEN @Outlay='C' THEN @Value ELSE 0.00 END ,@Fee ,@PerNo ,@Year ,@Date ,SUBSTRING(@Matter, 1, 6) ,CASE WHEN @Outlay='C' AND @DepositAcct <>'Y' THEN @Value ELSE 0.00 END ,CASE WHEN @Outlay='C' AND @DepositAcct ='Y' THEN @Value ELSE 0.00 END ,'' ,CASE WHEN @Outlay='D' THEN @CurrValue ELSE 0.00 END ,CASE WHEN @Outlay='O' THEN @CurrValue ELSE 0.00 END ,CASE WHEN @Outlay='C' THEN @CurrValue ELSE 0.00 END ,CASE WHEN @Outlay='C' AND @DepositAcct <>'Y' THEN @CurrValue ELSE 0.00 END ,CASE WHEN @Outlay='C' AND @DepositAcct ='Y' THEN @CurrValue ELSE 0.00 END ,'' ,0 ,0 ,null ,0.00 ,0 ,0 ,@ClearedDate ) FETCH NEXT FROM batchDetails_Cursor INTO @BatchNo, @Type, @Code, @Pref, @Ref, @Date, @Fee, @Narr, @Matter, @Value, @VatCode, @VatVal, @Outlay, @Year, @PerNo, @EntryCurr, @CurrValue, @CurrVat, @ClearedDate END CLOSE batchDetails_Cursor; DEALLOCATE batchDetails_Cursor; /*UPDATE CONTACT TABLE FOR DEBTORS*/ UPDATE [CON] SET [CON].[BillBal] = [CON].[BillBal] + ISNULL([TBD].[Value],0), [CON].[CurBillBal] = [CON].[CurBillBal] + ISNULL([TBD].[CurrencyValue],0) FROM [dbo].[Contacts] [CON] INNER JOIN @tempBatchDetails [TBD] ON [CON].[Code] = SUBSTRING([TBD].[Matter], 1, 6) WHERE [TBD].[Outlay] = 'D' /*UPDATE CONTACT TABLE FOR OUTLAY*/ UPDATE [CON] SET [CON].[OutlayBal] = ISNULL([CON].[OutlayBal],0) + ISNULL([TBD].[Value],0), [CON].[CurOutlayBal] = ISNULL([CON].[CurOutlayBal],0) + ISNULL([TBD].[CurrencyValue],0) FROM [dbo].[Contacts] [CON] INNER JOIN @tempBatchDetails [TBD] ON [CON].[Code] = SUBSTRING([TBD].[Matter], 1, 6) WHERE [TBD].[Outlay] = 'O' /*UPDATE CONTACT TABLE FOR CLIENT*/ UPDATE [CON] SET [CON].[ClientDep] = CASE WHEN @DepositAcct='Y' THEN ISNULL([CON].[ClientDep],0) + ISNULL([TBD].[Value],0) ELSE ISNULL([CON].[ClientDep],0) END, [CON].[CurClientDBal] = CASE WHEN @DepositAcct='Y' THEN ISNULL([CON].[CurClientDBal],0) + ISNULL([TBD].[CurrencyValue],0) ELSE ISNULL([CON].[CurClientDBal],0) END, [CON].[ClientCur] = CASE WHEN @DepositAcct<>'Y' THEN ISNULL([CON].[ClientCur],0) + ISNULL([TBD].[Value],0) ELSE ISNULL([CON].[ClientCur],0) END, [CON].[CurClientCBal] = CASE WHEN @DepositAcct<>'Y' THEN ISNULL([CON].[CurClientCBal],0) + ISNULL([TBD].[CurrencyValue],0) ELSE ISNULL([CON].[CurClientCBal],0) END FROM [dbo].[Contacts] [CON] INNER JOIN @tempBatchDetails [TBD] ON [CON].[Code] = SUBSTRING([TBD].[Matter], 1, 6) WHERE [TBD].[Outlay] = 'C' /*UPDATE MATTER TABLE FOR DEBTORS*/ UPDATE [MAT] SET [MAT].[DebtBal] = ISNULL([MAT].[DebtBal],0) + ISNULL([TBD].[Value],0), [MAT].[CurDebtBal] = ISNULL([MAT].[CurDebtBal],0) + ISNULL([TBD].[CurrencyValue],0), [MAT].[DebtBalFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([MAT].[DebtBalFwd],0) + ISNULL([TBD].[Value],0) ELSE ISNULL([MAT].[DebtBalFwd],0) END, [MAT].[CurDebtBalFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([MAT].[CurDebtBalFwd],0) + ISNULL([TBD].[CurrencyValue],0) ELSE ISNULL([MAT].[CurDebtBalFwd],0) END FROM [dbo].[matters] [MAT] INNER JOIN @tempBatchDetails [TBD] ON [MAT].[Code] = [TBD].[Matter] WHERE [TBD].[Outlay] = 'D' /*UPDATE MATTER TABLE FOR OUTLAY*/ UPDATE [MAT] SET [MAT].[OutlayBal] = ISNULL([MAT].[OutlayBal],0) + ISNULL([TBD].[Value],0), [MAT].[CurOutlayBal] = ISNULL([MAT].[CurOutlayBal],0) + ISNULL([TBD].[CurrencyValue],0), [MAT].[OutlayBalFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([MAT].[OutlayBalFwd],0) + ISNULL([TBD].[Value],0) ELSE [MAT].[OutlayBalFwd] END, [MAT].[CurOutlayBalFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([MAT].[CurOutlayBalFwd],0) + ISNULL([TBD].[CurrencyValue],0) ELSE [MAT].[CurOutlayBalFwd] END FROM [dbo].[matters] [MAT] INNER JOIN @tempBatchDetails [TBD] ON [MAT].[Code] = [TBD].[Matter] WHERE [TBD].[Outlay] = 'O' /*UPDATE MATTER TABLE FOR CLIENT */ UPDATE [MAT] SET [MAT].[ClientBal] = ISNULL([MAT].[ClientBal],0) + ISNULL([TBD].[Value] + [TBD].[VatVal],0), [MAT].[ClientBalFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([MAT].[ClientBalFwd],0) + ISNULL([TBD].[Value] + [TBD].[VatVal],0) ELSE [MAT].[ClientBalFwd] END, [MAT].[CurClientBal] = ISNULL([MAT].[CurClientBal],0) + ISNULL([TBD].[CurrencyValue] + [TBD].[CurrencyVat],0), [MAT].[CurClientBalFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([MAT].[CurClientBalFwd],0) + ISNULL([TBD].[CurrencyValue] + [TBD].[CurrencyVat],0) ELSE [MAT].[CurClientBalFwd] END, [MAT].[ClientDepBal] = CASE WHEN @DepositAcct='Y' THEN ISNULL([MAT].[ClientDepBal],0) + ISNULL([TBD].[Value] + [TBD].[VatVal],0) ELSE [MAT].[ClientDepBal] END, [MAT].[CurClientDBal] = CASE WHEN @DepositAcct='Y' THEN ISNULL([MAT].[CurClientDBal],0) + ISNULL([TBD].[Value] + [TBD].[VatVal],0) ELSE [MAT].[CurClientDBal] END, [MAT].[ClientDepBalFwd] = CASE WHEN @DepositAcct='Y' AND @IsPostingFwd='Y' THEN ISNULL([MAT].[ClientDepBalFwd],0) + ISNULL([TBD].[Value] + [TBD].[VatVal],0) ELSE [MAT].[ClientDepBalFwd] END, [MAT].[CurClientDBalFwd] = CASE WHEN @DepositAcct='Y' AND @IsPostingFwd='Y' THEN ISNULL([MAT].[CurClientDBalFwd],0) + ISNULL([TBD].[Value] + [TBD].[VatVal],0) ELSE [MAT].[CurClientDBalFwd] END, [MAT].[ClientCurBal] = CASE WHEN @DepositAcct<>'Y' THEN ISNULL([MAT].[ClientCurBal],0) + ISNULL([TBD].[CurrencyValue] + [TBD].[CurrencyVat],0) ELSE [MAT].[ClientCurBal] END, [MAT].[CurClientCBal] = CASE WHEN @DepositAcct<>'Y' THEN ISNULL([MAT].[CurClientCBal],0) + ISNULL([TBD].[CurrencyValue] + [TBD].[CurrencyVat],0) ELSE [MAT].[CurClientCBal] END, [MAT].[ClientCurBalFwd] = CASE WHEN @DepositAcct<>'Y' AND @IsPostingFwd='Y' THEN ISNULL([MAT].[ClientCurBalFwd],0) + ISNULL([TBD].[CurrencyValue] + [TBD].[CurrencyVat],0) ELSE [MAT].[ClientCurBalFwd] END, [MAT].[CurClientCBalFwd] = CASE WHEN @DepositAcct<>'Y' AND @IsPostingFwd='Y' THEN ISNULL([MAT].[CurClientCBalFwd],0) + ISNULL([TBD].[CurrencyValue] + [TBD].[CurrencyVat],0) ELSE [MAT].[CurClientCBalFwd] END FROM [dbo].[matters] [MAT] INNER JOIN @tempBatchDetails [TBD] ON [MAT].[Code] = [TBD].[Matter] WHERE [TBD].[Outlay] = 'C' /*INSERT INTO NOMINAL LEDGER -BATCH HEADER CODE*/ INSERT INTO [dbo].[NominalLedger] ( [Code], [Branch], [BatchNo], [Pref], [Date], [Ref], [Narr], [Matter], [Supp], [Fee], [Value], [CurrencyValue], [Per], [Year], [EntryDate], [RecNo], [ClearedDate] ) ( SELECT [TBH].[Code], [TBH].[Branch], [TBH].[BatchNo], [TBH].[Pref], [TBH].[Date], [TBH].[Ref], [TBH].[Narr], [TBH].[Matter], [TBH].[Supp], [TBH].[Fee], ISNULL([TBH].[Value],0) AS [Value], ISNULL([TBH].[CurrencyValue],0) AS [CurrencyValue], [TBH].[PerNo], [TBH].[Year], [TBH].[EntryDate], [TBH].[RecNo], [TBH].[ClearedDate] FROM @tempBatchH [TBH] ) /*Update Nominal Batch Header Code*/ UPDATE [NOM] SET [NOM].[Balance] = ISNULL([NOM].[Balance],0)+([TBH].[Value]), [NOM].[CurrencyBal] = ISNULL([NOM].[CurrencyBal],0)+([TBH].[CurrencyValue]), [NOM].[BalanceFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([NOM].[BalanceFwd],0)+([TBH].[Value]) ELSE ISNULL([NOM].[BalanceFwd],0) END, [NOM].[CurrencyBalFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([NOM].[CurrencyBalFwd],0)+([TBH].[CurrencyValue]) ELSE ISNULL([NOM].[CurrencyBalFwd],0) END, [NOM].[Month1] = CASE WHEN @CurPer = 1 AND @IsPostingFwd<>'Y' THEN [NOM].[Month1]+([TBH].[Value]) ELSE [NOM].[Month1] END, [NOM].[Month2] = CASE WHEN @CurPer = 2 AND @IsPostingFwd<>'Y' THEN [NOM].[Month2]+([TBH].[Value]) ELSE [NOM].[Month2] END, [NOM].[Month3] = CASE WHEN @CurPer = 3 AND @IsPostingFwd<>'Y' THEN [NOM].[Month3]+([TBH].[Value]) ELSE [NOM].[Month3] END, [NOM].[Month4] = CASE WHEN @CurPer = 4 AND @IsPostingFwd<>'Y' THEN [NOM].[Month4]+([TBH].[Value]) ELSE [NOM].[Month4] END, [NOM].[Month5] = CASE WHEN @CurPer = 5 AND @IsPostingFwd<>'Y' THEN [NOM].[Month5]+([TBH].[Value]) ELSE [NOM].[Month5] END, [NOM].[Month6] = CASE WHEN @CurPer = 6 AND @IsPostingFwd<>'Y' THEN [NOM].[Month6]+([TBH].[Value]) ELSE [NOM].[Month6] END, [NOM].[Month7] = CASE WHEN @CurPer = 7 AND @IsPostingFwd<>'Y' THEN [NOM].[Month7]+([TBH].[Value]) ELSE [NOM].[Month7] END, [NOM].[Month8] = CASE WHEN @CurPer = 8 AND @IsPostingFwd<>'Y' THEN [NOM].[Month8]+([TBH].[Value]) ELSE [NOM].[Month8] END, [NOM].[Month9] = CASE WHEN @CurPer = 9 AND @IsPostingFwd<>'Y' THEN [NOM].[Month9]+([TBH].[Value]) ELSE [NOM].[Month9] END, [NOM].[Month10] = CASE WHEN @CurPer = 10 AND @IsPostingFwd<>'Y' THEN [NOM].[Month10]+([TBH].[Value]) ELSE [NOM].[Month10] END, [NOM].[Month11] = CASE WHEN @CurPer = 11 AND @IsPostingFwd<>'Y' THEN [NOM].[Month11]+([TBH].[Value]) ELSE [NOM].[Month11] END, [NOM].[Month12] = CASE WHEN @CurPer = 11 AND @IsPostingFwd<>'Y' THEN [NOM].[Month12]+([TBH].[Value]) ELSE [NOM].[Month12] END FROM [dbo].[Nominal] [NOM] JOIN @tempBatchH [TBH] ON [NOM].[Code] = [TBH].[Code] /*INSERT INTO NOMINAL LEDGER -BATCH HEADER CLIENT BANK*/ INSERT INTO [dbo].[NominalLedger] ( [Code], [Branch], [BatchNo], [Pref], [Date], [Ref], [Narr], [Matter], [Supp], [Fee], [Value], [CurrencyValue], [Per], [Year], [EntryDate], [RecNo], [ClearedDate] ) ( SELECT [TBH].[ClientBank], [TBH].[Branch], [TBH].[BatchNo], [TBH].[Pref], [TBH].[Date], [TBH].[Ref], [TBH].[Narr], [TBH].[Matter], [TBH].[Supp], [TBH].[Fee], ISNULL([TBH].[Value] * -1,0) AS [Value], ISNULL([TBH].[CurrencyValue] * -1,0) AS [CurrencyValue], [TBH].[PerNo], [TBH].[Year], [TBH].[EntryDate], [TBH].[RecNo], [TBH].[ClearedDate] FROM @tempBatchH [TBH] ) /*Update Nominal Batch Header Client Bank Code*/ UPDATE [NOM] SET [NOM].[Balance] = ISNULL([NOM].[Balance],0)+([TBH].[Value] * -1), [NOM].[CurrencyBal] = ISNULL([NOM].[CurrencyBal],0)+([TBH].[CurrencyValue] * -1), [NOM].[BalanceFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([NOM].[BalanceFwd],0)+([TBH].[Value] * -1) ELSE ISNULL([NOM].[BalanceFwd],0) END, [NOM].[CurrencyBalFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([NOM].[CurrencyBalFwd],0)+([TBH].[CurrencyValue] *-1) ELSE ISNULL([NOM].[CurrencyBalFwd],0) END, [NOM].[Month1] = CASE WHEN @CurPer = 1 AND @IsPostingFwd<>'Y' THEN [NOM].[Month1]+([TBH].[Value] * -1 ) ELSE [NOM].[Month1] END, [NOM].[Month2] = CASE WHEN @CurPer = 2 AND @IsPostingFwd<>'Y' THEN [NOM].[Month2]+([TBH].[Value] * -1 ) ELSE [NOM].[Month2] END, [NOM].[Month3] = CASE WHEN @CurPer = 3 AND @IsPostingFwd<>'Y' THEN [NOM].[Month3]+([TBH].[Value] * -1 ) ELSE [NOM].[Month3] END, [NOM].[Month4] = CASE WHEN @CurPer = 4 AND @IsPostingFwd<>'Y' THEN [NOM].[Month4]+([TBH].[Value] * -1 ) ELSE [NOM].[Month4] END, [NOM].[Month5] = CASE WHEN @CurPer = 5 AND @IsPostingFwd<>'Y' THEN [NOM].[Month5]+([TBH].[Value] * -1 ) ELSE [NOM].[Month5] END, [NOM].[Month6] = CASE WHEN @CurPer = 6 AND @IsPostingFwd<>'Y' THEN [NOM].[Month6]+([TBH].[Value] * -1 ) ELSE [NOM].[Month6] END, [NOM].[Month7] = CASE WHEN @CurPer = 7 AND @IsPostingFwd<>'Y' THEN [NOM].[Month7]+([TBH].[Value] * -1 ) ELSE [NOM].[Month7] END, [NOM].[Month8] = CASE WHEN @CurPer = 8 AND @IsPostingFwd<>'Y' THEN [NOM].[Month8]+([TBH].[Value] * -1 ) ELSE [NOM].[Month8] END, [NOM].[Month9] = CASE WHEN @CurPer = 9 AND @IsPostingFwd<>'Y' THEN [NOM].[Month9]+([TBH].[Value] * -1 ) ELSE [NOM].[Month9] END, [NOM].[Month10] = CASE WHEN @CurPer = 10 AND @IsPostingFwd<>'Y' THEN [NOM].[Month10]+([TBH].[Value] * -1 ) ELSE [NOM].[Month10] END, [NOM].[Month11] = CASE WHEN @CurPer = 11 AND @IsPostingFwd<>'Y' THEN [NOM].[Month11]+([TBH].[Value] * -1 ) ELSE [NOM].[Month11] END, [NOM].[Month12] = CASE WHEN @CurPer = 11 AND @IsPostingFwd<>'Y' THEN [NOM].[Month12]+([TBH].[Value] * -1 ) ELSE [NOM].[Month12] END FROM [dbo].[Nominal] [NOM] JOIN @tempBatchH [TBH] ON [NOM].[Code] = [TBH].[ClientBank] /*INSERT INTO NOMINAL LEDGER -BATCH DETAILS */ INSERT INTO [dbo].[NominalLedger] ( [Code], [Branch], [BatchNo], [Pref], [Date], [Ref], [Narr], [Matter], [Supp], [Fee], [Value], [CurrencyValue], [Per], [Year], [EntryDate], [RecNo], [ClearedDate] ) SELECT [NOD].[Code], [NOD].[Branch], [NOD].[BatchNo], [NOD].[Pref], [NOD].[Date], [NOD].[Ref], [NOD].[Narr], [NOD].[Matter], [NOD].[Supp], [NOD].[Fee], [NOD].[Value], [NOD].[CurrencyValue], [NOD].[PerNo], [NOD].[Year], [NOD].[EntryDate], [NOD].[RecNo], [NOD].[ClearedDate] FROM ( SELECT [TBD].[Code], [TBD].[Branch], [TBD].[BatchNo], [TBD].[Pref], [TBD].[Date], [TBD].[Ref], [TBD].[Narr], [TBD].[Matter], [TBD].[Supp], [TBD].[Fee], [TBD].[Value], [TBD].[CurrencyValue], [TBD].[PerNo], [TBD].[Year], [TBH].[EntryDate], [TBH].[RecNo], [TBH].[ClearedDate] FROM BatchDetails [TBD] INNER JOIN BatchH [TBH] ON [TBH].[BatchNo]=[TBD].[BatchNo] UNION ALL SELECT [TBD].[Code], [TBD].[Branch], [TBD].[BatchNo], [TBD].[Pref], [TBD].[Date], [TBD].[Ref], [TBD].[Narr], [TBD].[Matter], [TBD].[Supp], [TBD].[Fee], [TBD].[Value] * -1, [TBD].[CurrencyValue] * -1, [TBD].[PerNo], [TBD].[Year], [TBH].[EntryDate], [TBH].[RecNo], [TBH].[ClearedDate] FROM BatchDetails [TBD] INNER JOIN BatchH [TBH] ON [TBH].[BatchNo]=[TBD].[BatchNo] ) NOD /*UPDATE NOMINAL - BATCH DETAILS */ UPDATE [NOM] SET [NOM].[Balance] = ISNULL([NOM].[Balance],0)+([TBD].[Value] - [TBD].[VatVal]), [NOM].[CurrencyBal] = ISNULL([NOM].[CurrencyBal],0)+([TBD].[CurrencyValue] - [TBD].[CurrencyVat]), [NOM].[BalanceFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([NOM].[BalanceFwd],0)+([TBD].[Value] - [TBD].[VatVal]) ELSE ISNULL([NOM].[BalanceFwd],0) END, [NOM].[CurrencyBalFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([NOM].[CurrencyBalFwd],0)+([TBD].[CurrencyVat] - [TBD].[CurrencyVat]) ELSE ISNULL([NOM].[CurrencyBalFwd],0) END, [NOM].[Month1] = CASE WHEN @CurPer = 1 AND @IsPostingFwd<>'Y' THEN [NOM].[Month1]+([TBD].[Value] - [TBD].[VatVal]) ELSE [NOM].[Month1] END, [NOM].[Month2] = CASE WHEN @CurPer = 2 AND @IsPostingFwd<>'Y' THEN [NOM].[Month2]+([TBD].[Value] - [TBD].[VatVal]) ELSE [NOM].[Month2] END, [NOM].[Month3] = CASE WHEN @CurPer = 3 AND @IsPostingFwd<>'Y' THEN [NOM].[Month3]+([TBD].[Value] - [TBD].[VatVal]) ELSE [NOM].[Month3] END, [NOM].[Month4] = CASE WHEN @CurPer = 4 AND @IsPostingFwd<>'Y' THEN [NOM].[Month4]+([TBD].[Value] - [TBD].[VatVal]) ELSE [NOM].[Month4] END, [NOM].[Month5] = CASE WHEN @CurPer = 5 AND @IsPostingFwd<>'Y' THEN [NOM].[Month5]+([TBD].[Value] - [TBD].[VatVal]) ELSE [NOM].[Month5] END, [NOM].[Month6] = CASE WHEN @CurPer = 6 AND @IsPostingFwd<>'Y' THEN [NOM].[Month6]+([TBD].[Value] - [TBD].[VatVal]) ELSE [NOM].[Month6] END, [NOM].[Month7] = CASE WHEN @CurPer = 7 AND @IsPostingFwd<>'Y' THEN [NOM].[Month7]+([TBD].[Value] - [TBD].[VatVal]) ELSE [NOM].[Month7] END, [NOM].[Month8] = CASE WHEN @CurPer = 8 AND @IsPostingFwd<>'Y' THEN [NOM].[Month8]+([TBD].[Value] - [TBD].[VatVal]) ELSE [NOM].[Month8] END, [NOM].[Month9] = CASE WHEN @CurPer = 9 AND @IsPostingFwd<>'Y' THEN [NOM].[Month9]+([TBD].[Value] - [TBD].[VatVal]) ELSE [NOM].[Month9] END, [NOM].[Month10] = CASE WHEN @CurPer = 10 AND @IsPostingFwd<>'Y' THEN [NOM].[Month10]+([TBD].[Value] - [TBD].[VatVal]) ELSE [NOM].[Month10] END, [NOM].[Month11] = CASE WHEN @CurPer = 11 AND @IsPostingFwd<>'Y' THEN [NOM].[Month11]+([TBD].[Value] - [TBD].[VatVal]) ELSE [NOM].[Month11] END, [NOM].[Month12] = CASE WHEN @CurPer = 11 AND @IsPostingFwd<>'Y' THEN [NOM].[Month12]+([TBD].[Value] - [TBD].[VatVal]) ELSE [NOM].[Month12] END FROM [dbo].[Nominal] [NOM] JOIN @tempBatchDetails [TBD] ON [NOM].[Code] = [TBD].[Code] /*INSERT INTO DEBTORS LEDGER TABLE*/ INSERT INTO [dbo].[DebtorsLedger] ( [Matter], [Type], [Client], [Date], [Ref], [BatchNo], [Pref], [Narr], [Original], [OsValue], [OrFees], [OrOutlay], [OrVat], [OsFees], [OsOutlay], [OsVat], [VatCode], [Per], [Year], [FeeCode], [ClearedDate] ) ( SELECT [TBD].[Matter], [TBD].[Type], SUBSTRING([TBD].[Matter], 1, 6) AS [Client], [TBD].[Date], [TBD].[Ref], [TBD].[BatchNo], [TBD].[Pref], [TBD].[Narr], [TBD].[Value], [TBD].[Value], 0.00 AS [OrFees], 0.00 AS [OrOutlay], 0.00 AS [OrVat], 0.00 AS [OsFees], 0.00 AS [OsOutlay], 0.00 AS [OsVat], [TBD].[VatCode] AS [VatCode], [TBD].[PerNo] AS [Per], [TBD].[Year], [TBD].[Fee], [TBH].[ClearedDate] FROM @tempBatchDetails [TBD] LEFT JOIN @tempBatchH [TBH] ON [TBH].[BatchNo]=[TBD].[BatchNo] WHERE [TBD].[Outlay]='D' ) /*UPDATE BATCH HEADER POSTED DETAILS*/ UPDATE [dbo].[BatchH] SET [Posted] = 'Y', [PostFwd] = CASE WHEN @IsPostingFwd = 'Y' THEN 'Y' ELSE 'N' END WHERE [BatchNo] = @PostedBatchNo COMMIT TRAN END TRY BEGIN CATCH ROLLBACK TRAN END CATCH END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_UpdatePostingSAMMultiPayment' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_UpdatePostingSAMMultiPayment] END GO CREATE PROCEDURE [dbo].[KAAS_UpdatePostingSAMMultiPayment] ( @PostedBatchNo INT = 0, @PostedType VARCHAR(1) = '', @IsPostingFwd VARCHAR(1) = '', @HandlerName VARCHAR(20) = '' ) AS /******************************************************************************************************* * Update Multi Payment Posting Logic * * * * Stored Procedure Name : [dbo].[KAAS_UpdatePostingSAMMultiPayment] * * * * Modification History: * * 2021-11-19 Balamurugan C Created * *******************************************************************************************************/ --DECLARE -- @PostedBatchNo INT = 1083, -- @PostedType VARCHAR(1) = 'M', -- @IsPostingFwd VARCHAR(1) = 'N', -- @HandlerName VARCHAR(20) = 'admin'; BEGIN BEGIN TRY BEGIN TRAN -- /* SELECT BATCH HEADER AND INSERT INTO TABLE VARIBALE* DECLARE @tempBatchH TABLE ([BatchNo] [int] NOT NULL, [Type] [char](1) NULL, [Code] [char](10) NULL, [Ref] [char](10) NULL, [Date] [datetime] NULL, [Matter] [varchar](20) NULL, [SubTotal] [decimal](17, 2) NULL, [Supp] [char](10) NULL, [Narr] [char](150) NULL, [Value] [decimal](17, 2) NULL, [Currency] [varchar](10) NULL, [CurrencyValue] [decimal](17, 2) NULL, [Posted] [char](1) NULL, [Branch] [varchar](3) NULL, [PerNo] [smallint] NULL, [Year] [smallint] NULL, [EntryDate] [datetime] NULL, [RecNo] [int] NULL, [ChequeReqNo] [int] NULL, [UserCode] [char](8) NULL, [Pref] [int] NULL, [ClientAc] [char](1) NULL, [EFT] [char](1) NOT NULL, [ClientBank] [char](10) NULL, [ThirdParty] [char](1) NULL, [Payee] [char](60) NULL, [EFTSent] [char](1) NOT NULL, [PayClient] [char](1) NOT NULL, [OnceOffPayment] [char](1) NOT NULL, [ClientCode] [varchar](10) NULL, [Feetotal] [decimal](17, 2) NULL, [Outlaytotal] [decimal](17, 2) NULL, [VatTotal] [decimal](17, 2) NULL, [WriteDown] [datetime] NULL, [WriteBackHours] [decimal](7, 2) NULL, [WriteBackValue] [decimal](13, 2) NULL, [CreditInvoiceNo][int] NULL, [Invcr] [char](1) NULL, [Fee] [varchar](10) NULL, [PaymentMethod] [int] NULL, [ClearedDate] [datetime] NULL) INSERT INTO @tempBatchH SELECT [BAH].[BatchNo], RTRIM(ISNULL([BAH].[Type],'')), [BAH].[Code], RTRIM(ISNULL([BAH].[Ref],'')), dbo.KEYHM_FNConvertUTCDateToTargetTimeZone([BAH].[Date], @HandlerName), [BAH].[Matter], [BAH].[SUBTOT], [BAH].[Supp], [BAH].[Narr], [BAH].[Value], [BAH].[Currency], [BAH].[CurrencyValue], [BAH].[Posted], [BAH].[Branch], [BAH].[PerNo], [BAH].[Year], dbo.KEYHM_FNConvertUTCDateToTargetTimeZone([BAH].[EntryDate], @HandlerName) AS [EntryDate], [BAH].[RecNo], [BAH].[ChequeReqNo], [BAH].[UserCode], [BAH].[Pref], [BAH].[ClientAc], [BAH].[EFTYorN], [BAH].[CLIENTBANK], [BAH].[ThirdParty], [BAH].[Payee], [BAH].[EFTSent], [BAH].[PayClient], [BAH].[OnceOffPayment], [BAH].[ClientCode], [BAH].[FEETOT], [BAH].[OUTLAYTOT], [BAH].[VATTOT], [BAH].[WRITEDOWN], [BAH].[WRITEBACKHOURS], [BAH].[WRITEBACKVALUE], [BAH].[CREDITINVOICENO], [BAH].[INVCR], [BAH].[FEE], [BAH].[PaymentMethod], [BAH].[ClearedDate] FROM [dbo].[BatchH] [BAH] WITH(NOLOCK) WHERE [BAH].[BatchNo] = @PostedBatchNo /* SELECT BATCH DETAILS AND INSERT INTO TEMP TABLE VARIBLE*/ DECLARE @tempBatchDetails TABLE ( [BatchNo] [INT] NOT NULL, [Type] [CHAR](1) NULL, [Code] [CHAR](10) NULL, [Pref] [INT] NULL, [Ref] [CHAR](10) NULL, [Date] [DATETIME] NULL, [Fee] [VARCHAR](10) NULL, [Branch] [VARCHAR](3) NULL, [Narr] [CHAR](100) NULL, [Matter] [VARCHAR](20) NULL, [Supp] [CHAR](10) NULL, [Value] [DECIMAL](17, 2) NULL, [VatCode] [CHAR](1) NULL, [VatVal] [DECIMAL](17, 2) NULL, [ClientYN] [CHAR](1) NULL, [Outlay] [CHAR](1) NULL, [Pending] [CHAR](1) NULL, [Year] [SMALLINT] NULL, [PerNo] [SMALLINT] NULL, [EntryCurrency] [CHAR](1) NULL, [CurrencyValue] [DECIMAL](17, 2) NULL, [CurrencyVat] [DECIMAL](17, 2) NULL, [OutlayCode] [CHAR](4) NULL, [ThirdParty] [CHAR](1) NULL, [Payee] [CHAR](60) NULL, [HeadPref] [INT] NULL, [HeadBatch] [INT] NULL, [AllocBatch] [INT] NULL, [AllocPref] [INT] NULL, [AllocRef] [CHAR](10) NULL, [AllocValue] [DECIMAL](17, 2) NULL, [AllocWriteOff] [CHAR](1) NULL, [Psupp] [CHAR](10) NULL, [Undetaking] [SMALLINT] NULL, [CaseAssCode] [VARCHAR](6) NULL, [OnceOffPayment] [CHAR](1) NOT NULL, [PayClient] [CHAR](1) NOT NULL, [ClientCode] [VARCHAR](10) NULL, [EFTemailYorN] [CHAR](1) NOT NULL, [RegisteredPost] [INT] NULL, [PreBilledOutlay] [BIT] NOT NULL, [KeyId] [INT] NOT NULL ) INSERT INTO @tempBatchDetails SELECT [BATCHNO], [TYPE], [CODE], [PREF], [REF], [DATE], [FEE], [BRANCH], [NARR], [MATTER], [SUPP], [VALUE], [VATCODE], [VATVAL], [CLIENTYN], [OUTLAY], [PENDING], [YEAR], [PERNO], [ENTRYCURRENCY], [CURRENCYVALUE], [CURRENCYVAT], [OUTLAYCODE], [THIRDPARTY], [PAYEE], [HEADPREF], [HEADBATCH], [ALLOCBATCH], [ALLOCPREF], [ALLOCREF], [ALLOCVALUE], [ALLOCWRITEOFF], [PSUPP], [UNDETAKING], [CaseAssCode], [OnceOffPayment], [PayClient], [ClientCode], [EFTEmailYorN], [RegisteredPost], [PreBilledOutlay], [KEYID] FROM [dbo].[BatchDetails] WITH(NOLOCK) WHERE [BATCHNO] = @PostedBatchNo DECLARE @LastBatch INT = 0, @LastPref INT = 0, @CurPer INT = 0, @DepositAcct VARCHAR(1) = ''; /*FLAG VALUES*/ SELECT @CurPer = [CurPer] FROM [dbo].[control] WITH(NOLOCK) /* INSERT IN BATCH HEADER AND DETAILS BASED Multi Payment Batches are created as normal payment batches */ DECLARE @BatchNo INT, @Type VARCHAR(1), @Code VARCHAR(10), @Pref INT, @Ref VARCHAR(10), @Date DATETIME, @Fee VARCHAR(10), @Branch VARCHAR(3), @Narr VARCHAR(100), @Matter VARCHAR(20), @Supp VARCHAR(10), @Value DECIMAL(17, 2), @VatCode VARCHAR(1), @VatVal DECIMAL(17, 2), @ClientYN VARCHAR(1), @Outlay VARCHAR(1), @Pending VARCHAR(1), @Year SMALLINT, @PerNo SMALLINT, @EntryCurrency VARCHAR(1), @CurrencyValue DECIMAL(17, 2) , @CurrencyVat DECIMAL(17, 2) , @OutlayCode VARCHAR(4), @ThirdParty VARCHAR(1), @Payee VARCHAR(60), @HeadPref INT, @HeadBatch INT, @AllocBatch INT, @AllocPref INT, @AllocRef VARCHAR(10), @AllocValue DECIMAL(17, 2), @AllocWriteOff VARCHAR(1), @Psupp VARCHAR(10), @Undetaking SMALLINT, @CaseAssCode VARCHAR(6), @OnceOffPayment VARCHAR(1), @PayClient VARCHAR(1), @ClientCode VARCHAR(10), @EFTemailYorN VARCHAR(1), @RegisteredPost INT, @PreBilledOutlay BIT, @KeyId INT, @ClientAc VARCHAR(1), @EntryDate DATETIME, @ClientBank VARCHAR(20), @Currency VARCHAR(10), @EFTSend VARCHAR(1), @EFTYorN VARCHAR(1), @ClearedDate DATETIME, @BatchHCode VARCHAR(10) DECLARE batchDetails_Cursor CURSOR FOR SELECT [TBD].[BatchNo], [TBD].[Type], [TBD].[Code], [TBD].[Pref], [TBD].[Ref], [TBD].[Date], [TBD].[Fee], [TBD].[Branch], [TBD].[Narr], [TBD].[Matter], [TBD].[Supp], [TBD].[Value], [TBD].[VatCode], [TBD].[VatVal], [TBD].[ClientYN], [TBD].[Outlay], [TBD].[Pending], [TBD].[Year], [TBD].[PerNo], [TBD].[EntryCurrency], [TBD].[CurrencyValue], [TBD].[CurrencyVat], [TBD].[OutlayCode], [TBD].[ThirdParty], [TBD].[Payee], [TBD].[HeadPref], [TBD].[HeadBatch], [TBD].[AllocBatch], [TBD].[AllocPref], [TBD].[AllocRef], [TBD].[AllocValue], [TBD].[AllocWriteOff], [TBD].[Psupp], [TBD].[Undetaking], [TBD].[CaseAssCode], [TBD].[OnceOffPayment], [TBD].[PayClient], [TBD].[ClientCode], [TBD].[EFTemailYorN], [TBD].[RegisteredPost], [TBD].[PreBilledOutlay], [TBD].[KeyId], [TBH].[ClientAc], [TBH].[EntryDate], [TBH].[ClientBank], [TBH].[Currency], [TBH].[EFTSent], [TBH].[EFT], [TBH].[ClearedDate], [TBH].[Code] FROM @tempBatchDetails [TBD] JOIN @tempBatchH [TBH] ON [TBH].[BatchNo] = [TBD].[BatchNo] OPEN batchDetails_Cursor FETCH NEXT FROM batchDetails_Cursor INTO @BatchNo, @Type, @Code, @Pref, @Ref, @Date, @Fee, @Branch, @Narr, @Matter, @Supp, @Value, @VatCode, @VatVal, @ClientYN, @Outlay, @Pending, @Year, @PerNo, @EntryCurrency, @CurrencyValue, @CurrencyVat, @OutlayCode, @ThirdParty, @Payee, @HeadPref, @HeadBatch, @AllocBatch, @AllocPref, @AllocRef, @AllocValue, @AllocWriteOff, @Psupp, @Undetaking, @CaseAssCode, @OnceOffPayment, @PayClient, @ClientCode, @EFTemailYorN, @RegisteredPost, @PreBilledOutlay, @KeyId, @ClientAc, @EntryDate, @ClientBank, @Currency, @EFTSend, @EFTYorN, @ClearedDate, @BatchHCode WHILE @@FETCH_STATUS = 0 BEGIN ( SELECT @LastBatch = (LastBatch + 1), @LastPref = (LastPref + 1), @CurPer = CurPer FROM [dbo].[Control] WITH(NOLOCK) ) SET @DepositAcct = (SELECT DISTINCT [NOM].[DEPOSITYN] FROM [dbo].[Nominal] [NOM] WITH(NOLOCK) JOIN @tempBatchH [TBH] ON RTRIM([NOM].[Code]) = RTRIM([TBH].Code) ) /* INSERT INTO BATCH HEADER AS PAYMENT RECORD AS POSTED */ INSERT INTO [dbo].[BatchH] ( [BatchNo], [PostFwd], [Type], [Code], [Branch], [Pref], [Ref], [Date], [Fee], [Matter], [Supp], [Narr], [Value], [SubTot], [Posted], [ClientAc], [PerNo], [Year], [Payee], [OutlayTot], [VatTot], [FeeTot], [Invcr], [ThirdParty], [UserCode], [EntryDate], [ClientBank], [Currency], [CurrencyValue], [CuroutlayTot], [CurVatTot], [CurFeeTot], [RecNo], [Singleline], [Template], [ChequeReqNo], [WriteDown], [WriteBackHours], [WriteBackValue], [CorrectCopy], [CreditInvoiceNo], [DraftBillNo], [EFTSent], [EFTDate], [EFTFileNumber], [EFTFileName], [EFTYorN], [ClientCode], [PayClient], [OnceOffPayment], [CaseAssCode], [EFTEmailYorN], [HandlerCode], [PaymentMethod], [ClearedDate] ) VALUES ( @LastBatch, CASE WHEN @IsPostingFwd='Y' THEN 'Y' ELSE 'N' END, 'P', @BatchHCode, @Branch, @LastPref, @Ref, @Date, @Fee, @Matter, @Supp, @Narr, @Value, 0.00, 'Y', @ClientAc, @PerNo, @Year, @Payee, 0.00, 0.00, 0.00, '', @ThirdParty, @HandlerName, @EntryDate, @ClientBank, @Currency, @CurrencyValue, 0.00, 0.00, 0.00, 0, '', '', 0, NULL, 0.00, 0.00, '', 0, 0, @EFTSend, NULL, NULL, NULL, @EFTYorN, @ClientCode, @PayClient, @OnceOffPayment, @CaseAssCode, @EFTemailYorN, @HandlerName, NULL, @ClearedDate ) /*UPDATE AND SELECT PREF FOR BATCH DETAILS*/ UPDATE [dbo].[Control] SET [LASTPREF] = (@LastPref) WHERE [NEXT_DOC_NO] = 0 SELECT @LastPref = [LastPref] + 1 FROM [dbo].[Control] WITH(NOLOCK) WHERE [NEXT_DOC_NO] = 0 /*INSERT INTO BATCH DETAILS*/ INSERT INTO [dbo].[Batchdetails] ( BatchNo, [Type], Code, Pref, Ref, [Date], Fee, Branch, Narr, Matter, Supp, [Value], Vatcode, Vatval, Clientyn, Outlay, Pending, [Year], Perno, Entrycurrency, Currencyvalue, Currencyvat, Outlaycode, Thirdparty, Payee, Headpref, Headbatch, Allocbatch, Allocpref, Allocref, Allocvalue, Allocwriteoff, Psupp, Undetaking, Caseasscode, Onceoffpayment, Payclient, ClientCode, EFTEmailYorN, RegisteredPost, PreBilledOutlay ) VALUES ( @LastBatch, 'P', @Code, @LastPref, @Ref, @Date, @Fee, @Branch, @Narr, @Matter, @Supp, @Value, @VatCode, @VatVal, @ClientYN, @Outlay, @Pending, @Year, @PerNo, @EntryCurrency, @CurrencyValue, @CurrencyVat, @OutlayCode, @ThirdParty, @Payee, @Pref, @PostedBatchNo, @AllocBatch, @AllocPref, @AllocRef, @AllocValue, @AllocWriteOff, @Psupp, @Undetaking, @CaseAssCode, @OnceOffPayment, @PayClient, @ClientCode, @EFTemailYorN, @RegisteredPost, @PreBilledOutlay ) SET @DepositAcct = (SELECT DISTINCT [NOM].[DEPOSITYN] FROM [dbo].[Nominal] [NOM] WITH(NOLOCK) WHERE [NOM].[Code] = @BatchHCode ) IF(ISNULL(@Matter,'')<>'') BEGIN /*INSERT INTO MATTER LEDGER*/ INSERT INTO [dbo].[MatterLedger] ( [Matter], [BatchNo], [Pref], [Date], [Ref], [Narr], [ValueD], [ValueO], [ValueC], [Fee], [Per], [Year], [EntryDate], [Client], [ValueCC], [ValueCD], [DepositType], [CurValueD], [CurValueO], [CurValueC], [CurValueCC], [CurValueCD], [Billed], [BillingYear], [BillingPeriod], [BillingDate], [BilledOutlayValue], [InvoiceNo], [IncludeInBill], [ClearedDate] ) VALUES ( @Matter ,@LastBatch ,@LastPref ,@Date ,@Ref ,@Narr ,0.00 ,CASE WHEN @Outlay='O' THEN @Value - @VatVal ELSE 0.00 END ,CASE WHEN @Outlay='C' THEN @Value - @VatVal ELSE 0.00 END ,@Fee ,@PerNo ,@Year ,CAST(GETDATE() AS DATE) ,SUBSTRING(@Matter, 1, 6) ,CASE WHEN @Outlay='C' AND @DepositAcct<>'Y' THEN @Value - @VatVal ELSE 0.00 END ,CASE WHEN @Outlay='C' AND @DepositAcct='Y' THEN @Value - @VatVal ELSE 0.00 END ,'' ,0.00 ,CASE WHEN @Outlay='O' THEN @CurrencyValue - @CurrencyVat ELSE 0.00 END ,CASE WHEN @Outlay='C' THEN @CurrencyValue - @CurrencyVat ELSE 0.00 END ,CASE WHEN @Outlay='C' AND @DepositAcct<>'Y' THEN @CurrencyValue - @CurrencyVat ELSE 0.00 END ,CASE WHEN @Outlay='C' AND @DepositAcct='Y' THEN @CurrencyValue - @CurrencyVat ELSE 0.00 END ,'' ,0 ,0 ,null ,0.00 ,0 ,0 ,@ClearedDate ) END /*UPDATE MATTER - OUTLAY*/ UPDATE [MAT] SET [MAT].[OutlayBal] = ISNULL([MAT].[OutlayBal],0) + ISNULL(@Value - @VatVal,0), [MAT].[CurOutlayBal] = ISNULL([MAT].[CurOutlayBal],0) + ISNULL(@CurrencyValue - @CurrencyVat ,0), [MAT].[OutlayBalFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([MAT].[OutlayBalFwd],0) + ISNULL(@Value - @VatVal,0) ELSE [MAT].[OutlayBalFwd] END, [MAT].[CurOutlayBalFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([MAT].[CurOutlayBalFwd],0) + ISNULL(@CurrencyValue - @CurrencyVat ,0) ELSE [MAT].[CurOutlayBalFwd] END FROM [dbo].[matters] [MAT] WHERE [MAT].[Matter] = @Matter AND ISNULL(@Matter,'')<>'' AND @Outlay='O' /*UPDATE MATTER - CLIENT*/ UPDATE [MAT] SET [MAT].[ClientBal] = ISNULL([MAT].[ClientBal],0) + ISNULL(@Value - @VatVal,0), [MAT].[ClientBalFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([MAT].[ClientBalFwd],0) + ISNULL(@Value - @VatVal,0) ELSE [MAT].[ClientBalFwd] END, [MAT].[CurClientBal] = ISNULL([MAT].[CurClientBal],0) + ISNULL(@CurrencyValue - @CurrencyVat ,0), [MAT].[CurClientBalFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([MAT].[CurClientBalFwd],0) + ISNULL(@CurrencyValue - @CurrencyVat ,0) ELSE [MAT].[CurClientBalFwd] END, [MAT].[ClientDepBal] = CASE WHEN @DepositAcct='Y' THEN ISNULL([MAT].[ClientDepBal],0) + ISNULL(@Value - @VatVal,0) ELSE [MAT].[ClientDepBal] END, [MAT].[CurClientDBal] = CASE WHEN @DepositAcct='Y' THEN ISNULL([MAT].[CurClientDBal],0) + ISNULL(@Value - @VatVal,0) ELSE [MAT].[CurClientDBal] END, [MAT].[ClientDepBalFwd] = CASE WHEN @DepositAcct='Y' AND @IsPostingFwd='Y' THEN ISNULL([MAT].[ClientDepBalFwd],0) + ISNULL(@Value - @VatVal,0) ELSE [MAT].[ClientDepBalFwd] END, [MAT].[CurClientDBalFwd] = CASE WHEN @DepositAcct='Y' AND @IsPostingFwd='Y' THEN ISNULL([MAT].[CurClientDBalFwd],0) + ISNULL(@Value - @VatVal,0) ELSE [MAT].[CurClientDBalFwd] END, [MAT].[ClientCurBal] = CASE WHEN @DepositAcct<>'Y' THEN ISNULL([MAT].[ClientCurBal],0) + ISNULL(@CurrencyValue - @CurrencyVat ,0) ELSE [MAT].[ClientCurBal] END, [MAT].[CurClientCBal] = CASE WHEN @DepositAcct<>'Y' THEN ISNULL([MAT].[CurClientCBal],0) + ISNULL(@CurrencyValue - @CurrencyVat ,0) ELSE [MAT].[CurClientCBal] END, [MAT].[ClientCurBalFwd] = CASE WHEN @DepositAcct<>'Y' AND @IsPostingFwd='Y' THEN ISNULL([MAT].[ClientCurBalFwd],0) + ISNULL(@CurrencyValue - @CurrencyVat ,0) ELSE [MAT].[ClientCurBalFwd] END, [MAT].[CurClientCBalFwd] = CASE WHEN @DepositAcct<>'Y' AND @IsPostingFwd='Y' THEN ISNULL([MAT].[CurClientCBalFwd],0) + ISNULL(@CurrencyValue - @CurrencyVat ,0) ELSE [MAT].[CurClientCBalFwd] END FROM [dbo].[matters] [MAT] WHERE [MAT].[Matter] = @Matter AND ISNULL(@Matter,'')<>'' AND @Outlay='C' /*UPDATE CONTACT - OUTLAY AND CLIENT*/ UPDATE [CON] SET [CON].[OutlayBal] = CASE WHEN @Outlay='O' THEN ISNULL([CON].[OutlayBal],0) + ISNULL(@Value - @VatVal,0) ELSE [CON].[OutlayBal] END, [CON].[CurOutlayBal] = CASE WHEN @Outlay='O' THEN ISNULL([CON].[CurOutlayBal],0) + ISNULL(@CurrencyValue - @CurrencyVat ,0) ELSE [CON].[CurOutlayBal] END, [CON].[ClientDep] = CASE WHEN @DepositAcct='Y' AND @Outlay='C' THEN ISNULL([CON].[ClientDep],0) + ISNULL(@Value - @VatVal,0) ELSE ISNULL([CON].[ClientDep],0) END, [CON].[CurClientDBal] = CASE WHEN @DepositAcct='Y' AND @Outlay='C' THEN ISNULL([CON].[CurClientDBal],0) + ISNULL(@CurrencyValue - @CurrencyVat ,0) ELSE ISNULL([CON].[CurClientDBal],0) END, [CON].[ClientCur] = CASE WHEN @DepositAcct<>'Y' AND @Outlay='C' THEN ISNULL([CON].[ClientCur],0) + ISNULL(@Value - @VatVal,0) ELSE ISNULL([CON].[ClientCur],0) END, [CON].[CurClientCBal] = CASE WHEN @DepositAcct<>'Y' AND @Outlay='C' THEN ISNULL([CON].[CurClientCBal],0) + ISNULL(@CurrencyValue - @CurrencyVat ,0) ELSE ISNULL([CON].[CurClientCBal],0) END FROM [dbo].[Contacts] [CON] WHERE [CON].[Code] = SUBSTRING(@Matter, 1, 6) AND ISNULL(@Matter,'')<>'' /*INSERT INTO NOMINAL LEDGER FROM BOTH BATCH HEADER AND BATCH DETAILS*/ INSERT INTO [dbo].[NominalLedger] ( [Code], [Branch], [BatchNo], [Pref], [Date], [Ref], [Narr], [Matter], [Supp], [Fee], [Value], [CurrencyValue], [Per], [Year], [EntryDate], [RecNo], [ClearedDate] ) SELECT [NOD].[Code], [NOD].[Branch], [NOD].[BatchNo], [NOD].[Pref], [NOD].[Date], [NOD].[Ref], [NOD].[Narr], [NOD].[Matter], [NOD].[Supp], [NOD].[Fee], [NOD].[Value], [NOD].[CurrencyValue], [NOD].[PerNo], [NOD].[Year], [NOD].[EntryDate], [NOD].[RecNo], [NOD].[ClearedDate] FROM ( SELECT [TBH].[Code], [TBH].[Branch], [TBH].[BatchNo], [TBH].[Pref], [TBH].[Date], [TBH].[Ref], [TBH].[Narr], [TBH].[Matter], [TBH].[Supp], [TBH].[Fee], [TBH].[Value] * -1 AS [Value], [TBH].[CurrencyValue] * -1 AS [CurrencyValue], [TBH].[PerNo], [TBH].[Year], CAST(GETDATE() AS DATE) AS [EntryDate], [TBH].[RecNo], [TBH].[ClearedDate] FROM BatchDetails [TBD] WITH(NOLOCK) INNER JOIN BatchH [TBH] WITH(NOLOCK) ON [TBH].[BatchNo]=[TBD].[BatchNo] WHERE [TBD].[BatchNo] = @LastBatch UNION ALL SELECT [TBD].[Code], [TBD].[Branch], [TBD].[BatchNo], [TBD].[Pref], [TBD].[Date], [TBD].[Ref], [TBD].[Narr], [TBD].[Matter], [TBD].[Supp], [TBD].[Fee], [TBD].[Value] - [TBD].[VatVal] AS [Value], [TBD].[CurrencyValue] * [TBD].[CurrencyVat] AS [CurrencyValue], [TBD].[PerNo], [TBD].[Year], CAST(GETDATE() AS DATE) AS [EntryDate], [TBH].[RecNo], [TBH].[ClearedDate] FROM BatchDetails [TBD] WITH(NOLOCK) INNER JOIN BatchH [TBH] WITH(NOLOCK) ON [TBH].[BatchNo]=[TBD].[BatchNo] WHERE [TBD].[BatchNo] = @LastBatch ) NOD /* UPDATE NOMINAL BALANCE FOR BATCH HEADER*/ UPDATE [NOM] SET [NOM].[Balance] = ISNULL([NOM].[Balance],0)+(@Value * -1), [NOM].[CurrencyBal] = ISNULL([NOM].[CurrencyBal],0)+(@CurrencyValue * -1), [NOM].[BalanceFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([NOM].[BalanceFwd],0)+(@Value * -1) ELSE ISNULL([NOM].[BalanceFwd],0) END, [NOM].[CurrencyBalFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([NOM].[CurrencyBalFwd],0)+(@CurrencyValue * -1) ELSE ISNULL([NOM].[CurrencyBalFwd],0) END, [NOM].[Month1] = CASE WHEN @CurPer = 1 AND @IsPostingFwd<>'Y' THEN [NOM].[Month1]+(@Value * -1) ELSE [NOM].[Month1] END, [NOM].[Month2] = CASE WHEN @CurPer = 2 AND @IsPostingFwd<>'Y' THEN [NOM].[Month2]+(@Value * -1) ELSE [NOM].[Month2] END, [NOM].[Month3] = CASE WHEN @CurPer = 3 AND @IsPostingFwd<>'Y' THEN [NOM].[Month3]+(@Value * -1) ELSE [NOM].[Month3] END, [NOM].[Month4] = CASE WHEN @CurPer = 4 AND @IsPostingFwd<>'Y' THEN [NOM].[Month4]+(@Value * -1) ELSE [NOM].[Month4] END, [NOM].[Month5] = CASE WHEN @CurPer = 5 AND @IsPostingFwd<>'Y' THEN [NOM].[Month5]+(@Value * -1) ELSE [NOM].[Month5] END, [NOM].[Month6] = CASE WHEN @CurPer = 6 AND @IsPostingFwd<>'Y' THEN [NOM].[Month6]+(@Value * -1) ELSE [NOM].[Month6] END, [NOM].[Month7] = CASE WHEN @CurPer = 7 AND @IsPostingFwd<>'Y' THEN [NOM].[Month7]+(@Value * -1) ELSE [NOM].[Month7] END, [NOM].[Month8] = CASE WHEN @CurPer = 8 AND @IsPostingFwd<>'Y' THEN [NOM].[Month8]+(@Value * -1) ELSE [NOM].[Month8] END, [NOM].[Month9] = CASE WHEN @CurPer = 9 AND @IsPostingFwd<>'Y' THEN [NOM].[Month9]+(@Value * -1) ELSE [NOM].[Month9] END, [NOM].[Month10] = CASE WHEN @CurPer = 10 AND @IsPostingFwd<>'Y' THEN [NOM].[Month10]+(@Value * -1) ELSE [NOM].[Month10] END, [NOM].[Month11] = CASE WHEN @CurPer = 11 AND @IsPostingFwd<>'Y' THEN [NOM].[Month11]+(@Value * -1) ELSE [NOM].[Month11] END, [NOM].[Month12] = CASE WHEN @CurPer = 11 AND @IsPostingFwd<>'Y' THEN [NOM].[Month12]+(@Value * -1) ELSE [NOM].[Month12] END FROM [dbo].[Nominal] [NOM] WHERE [NOM].[Code] = @BatchHCode /* UPDATE NOMINAL BALANCE FOR BATCH DETAILS*/ UPDATE [NOM] SET [NOM].[Balance] = ISNULL([NOM].[Balance],0)+ISNULL(@Value - @VatVal,0), [NOM].[CurrencyBal] = ISNULL([NOM].[CurrencyBal],0)+ISNULL(@CurrencyValue - @CurrencyVat ,0), [NOM].[BalanceFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([NOM].[BalanceFwd],0)+ISNULL(@Value - @VatVal,0) ELSE ISNULL([NOM].[BalanceFwd],0) END, [NOM].[CurrencyBalFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([NOM].[CurrencyBalFwd],0)+ISNULL(@CurrencyValue - @CurrencyVat ,0) ELSE ISNULL([NOM].[CurrencyBalFwd],0) END, [NOM].[Month1] = CASE WHEN @CurPer = 1 AND @IsPostingFwd<>'Y' THEN [NOM].[Month1]+ISNULL(@Value - @VatVal,0) ELSE [NOM].[Month1] END, [NOM].[Month2] = CASE WHEN @CurPer = 2 AND @IsPostingFwd<>'Y' THEN [NOM].[Month2]+ISNULL(@Value - @VatVal,0) ELSE [NOM].[Month2] END, [NOM].[Month3] = CASE WHEN @CurPer = 3 AND @IsPostingFwd<>'Y' THEN [NOM].[Month3]+ISNULL(@Value - @VatVal,0) ELSE [NOM].[Month3] END, [NOM].[Month4] = CASE WHEN @CurPer = 4 AND @IsPostingFwd<>'Y' THEN [NOM].[Month4]+ISNULL(@Value - @VatVal,0) ELSE [NOM].[Month4] END, [NOM].[Month5] = CASE WHEN @CurPer = 5 AND @IsPostingFwd<>'Y' THEN [NOM].[Month5]+ISNULL(@Value - @VatVal,0) ELSE [NOM].[Month5] END, [NOM].[Month6] = CASE WHEN @CurPer = 6 AND @IsPostingFwd<>'Y' THEN [NOM].[Month6]+ISNULL(@Value - @VatVal,0) ELSE [NOM].[Month6] END, [NOM].[Month7] = CASE WHEN @CurPer = 7 AND @IsPostingFwd<>'Y' THEN [NOM].[Month7]+ISNULL(@Value - @VatVal,0) ELSE [NOM].[Month7] END, [NOM].[Month8] = CASE WHEN @CurPer = 8 AND @IsPostingFwd<>'Y' THEN [NOM].[Month8]+ISNULL(@Value - @VatVal,0) ELSE [NOM].[Month8] END, [NOM].[Month9] = CASE WHEN @CurPer = 9 AND @IsPostingFwd<>'Y' THEN [NOM].[Month9]+ISNULL(@Value - @VatVal,0) ELSE [NOM].[Month9] END, [NOM].[Month10] = CASE WHEN @CurPer = 10 AND @IsPostingFwd<>'Y' THEN [NOM].[Month10]+ISNULL(@Value - @VatVal,0) ELSE [NOM].[Month10] END, [NOM].[Month11] = CASE WHEN @CurPer = 11 AND @IsPostingFwd<>'Y' THEN [NOM].[Month11]+ISNULL(@Value - @VatVal,0) ELSE [NOM].[Month11] END, [NOM].[Month12] = CASE WHEN @CurPer = 11 AND @IsPostingFwd<>'Y' THEN [NOM].[Month12]+ISNULL(@Value - @VatVal,0) ELSE [NOM].[Month12] END FROM [dbo].[Nominal] [NOM] WHERE [NOM].[Code] = @Code /*INSERT INTO SUPPLIER LEDGER*/ IF(@Supp<>'') BEGIN INSERT INTO [dbo].[SupplierLedger] ( [Supp], [Type], [Date], [Ref], [BatchNo], [Pref], [Narr], [Original], [OsValue], [Year], [Per], [EntryDate], [ThirdParty], [Matter] ) ( SELECT @Supp, 'P', @Date, @Ref, @LastBatch, @LastPref, @Narr, @Value, @Value, @Year, @PerNo, CAST(GETDATE() AS DATE), @ThirdParty, @Matter ) /*UPDATE SUPPLIER BALANCE*/ UPDATE [SUP] SET [SUP].[Balance] = ISNULL([SUP].[Balance] + @Value,0), [SUP].[BalanceFwd] = CASE WHEN @IsPostingFwd = 'Y' THEN ISNULL([SUP].[BalanceFwd] + @Value,0) ELSE [SUP].[BalanceFwd] END FROM [dbo].[Suppliers] [SUP] WHERE RTRIM([SUP].[Code]) = @Code END /*INSERT INTO ALLOCATION PART*/ IF(@AllocBatch<>0) BEGIN UPDATE [dbo].[control] SET [LastAlloc] = [LastAlloc] + 1 WHERE [Next_Doc_No] = 0 DECLARE @LastAllocNumber INT = 0, @SuppOsValue DECIMAL(17,2) = 0, @SuppPendingOutlay DECIMAL(17,2) = 0; SELECT @LastAllocNumber = [LastAlloc] FROM [dbo].[control] WITH(NOLOCK) SELECT @SuppOsValue = [OsValue], @SuppPendingOutlay = [PendingOutlay] FROM [dbo].[SupplierLedger] WITH(NOLOCK) WHERE [BatchNo] = @LastBatch INSERT INTO [dbo].[Allocations] ( [BatchNo], [Pref], [Date], [ABatchNo], [Opref], [Oref], [Value] ) ( SELECT @LastBatch, @LastPref, @Date, @AllocBatch, @AllocPref, @AllocRef, @Value ) /*UPDATE SUPPLIER LEDGER LOGIC - PROCESS THE ALLOCATION LOGIC FOR PAYMENT*/ UPDATE [dbo].[SupplierLedger] SET [OsValue] = ISNULL([OsValue] - @AllocValue,0) WHERE [BatchNo] = @LastBatch AND [Pref] = @LastPref UPDATE [dbo].[SupplierLedger] SET [OsValue] = ISNULL([OsValue] + @AllocValue,0) WHERE [BatchNo] = @AllocBatch AND [Pref] = @AllocPref /*IF THERE ANY PENDING OUTLAY*/ IF(@SuppOsValue = 0 AND @SuppPendingOutlay = 0 AND @Outlay ='O') BEGIN INSERT INTO [dbo].[PendingOutlay] ( [Matter], [Date], [Supplier], [Ref], [Narrative], [Value] ) VALUES ( @Matter, @Date, @Supp, @Ref, 'Supplier Bill Paid', @Value * -1 ) /*UPDATE MATTER PEDNING OUTLAY*/ UPDATE [dbo].[Matters] SET [PendingBal] = ISNULL([PendingBal] - @Value,0) WHERE [Code] = @Matter END END /*UPDATE CONTROL TABLE -BATCH NUMBER AND PREF NUMBER*/ UPDATE [dbo].[Control] SET [LASTPREF] = (@LastPref), [LASTBATCH] = (@LastBatch) WHERE [NEXT_DOC_NO] = 0 /* INSERT INTO WRITE OFF JOURNAL - WTITE OFF JOURNAL LOGIC*/ DECLARE @JLastBatchNo INT = 0, @JLastPrefNo INT = 0, @Creditors VARCHAR(10) = '', @VATExclude VARCHAR(10) = '', @JSuppOsValue DECIMAL(17,2) = 0, @EIConvert DECIMAL(17,2) = 0, @ControlYear INT = 0; SELECT @JSuppOsValue = [OsValue] FROM [dbo].[SupplierLedger] WITH(NOLOCK) WHERE [BatchNo] = @LastBatch IF(@JSuppOsValue<>0 AND @AllocWriteOff = 'Y') BEGIN UPDATE [dbo].[Control] SET [LASTPREF] = [LASTPREF] + 1, [LASTBATCH] = [LASTBATCH] + 1 WHERE [NEXT_DOC_NO] = 0 ( SELECT @JLastBatchNo = [LASTBATCH], @JLastPrefNo = [LASTPREF], @Creditors = [CREDITOR], @VATExclude = [VATExclude], @EIConvert = [EIConvert], @ControlYear = [Year] FROM [dbo].[Control] WITH(NOLOCK) ) /* INSERT INTO BATCH HEADER TABLE - TYPE=J*/ INSERT INTO [dbo].[BatchH] ( [BatchNo], [PRef], [Type], [Ref], [PerNo], [Year], [Date], [Branch], [PostFwd], [Narr], [Posted], [EntryDate], [EFTSent], [EFTDate], [EFTFileNumber], [EFTFileName], [EFTYorN], [ClientCode], [PayClient], [OnceOffPayment], [CaseAssCode], [EFTEmailYorN], [UserCode] ) VALUES ( @JLastBatchNo, @JLastPrefNo, 'J', '', @CurPer, @ControlYear, @Date, @Branch, @IsPostingFwd, 'Automatic Creditors balance write-off', 'N', CAST(GETDATE() AS DATE), 'N', 0, 0, '', 'N', '' , 'N', 'N', '', 'N', @HandlerName ) UPDATE [dbo].[Control] SET [LASTPREF] = [LASTPREF] + 1 WHERE [NEXT_DOC_NO] = 0 ( SELECT @JLastPrefNo = [LASTPREF] FROM [dbo].[Control] WITH(NOLOCK) ) /* INSERT INTO BATCH DETAILS TABLE - TYPE=J*/ INSERT INTO [dbo].[BatchDetails] ( [PRef], [BatchNo], [Branch], [Type], [Ref], [Code], [Date], [Narr], [Supp], [Value], [VatCode], [VATVal], [EntryCurrency], [CurrencyValue], [CurrencyVAT], [Year], [PerNo], [AllocBatch], [AllocPRef], [AllocRef], [AllocValue], [Outlay], [CaseAssCode], [OnceOffPayment], [PayClient], [ClientCode], [EFTEmailYorN] ) VALUES ( @JLastPrefNo, @JLastBatchNo, @Branch, 'J', 'W/o(auto)', @Creditors, @Date, 'Automatic Write-off', @Supp, @JSuppOsValue * -1, @VATExclude, 0, @EntryCurrency, (@JSuppOsValue * -1) / @EIConvert, 0, @Year, @CurPer, @AllocBatch, @AllocPref, @AllocRef, @AllocValue, 'N', '' , 'N', 'N', '' , 'N' ), ( @JLastPrefNo + 1, @JLastBatchNo, @Branch, 'J', 'W/o(auto)', @Creditors, @Date, 'Automatic Write-off', @Supp, @JSuppOsValue, @VATExclude, 0, @EntryCurrency, @JSuppOsValue / @EIConvert, 0, @Year, @CurPer, @AllocBatch, @AllocPref, @AllocRef, @AllocValue, 'N', '' , 'N', 'N', '' , 'N' ) END FETCH NEXT FROM batchDetails_Cursor INTO @BatchNo, @Type, @Code, @Pref, @Ref, @Date, @Fee, @Branch, @Narr, @Matter, @Supp, @Value, @VatCode, @VatVal, @ClientYN, @Outlay, @Pending, @Year, @PerNo, @EntryCurrency, @CurrencyValue, @CurrencyVat, @OutlayCode, @ThirdParty, @Payee, @HeadPref, @HeadBatch, @AllocBatch, @AllocPref, @AllocRef, @AllocValue, @AllocWriteOff, @Psupp, @Undetaking, @CaseAssCode, @OnceOffPayment, @PayClient, @ClientCode, @EFTemailYorN, @RegisteredPost, @PreBilledOutlay, @KeyId, @ClientAc, @EntryDate, @ClientBank, @Currency, @EFTSend, @EFTYorN, @ClearedDate, @BatchHCode END CLOSE batchDetails_Cursor; DEALLOCATE batchDetails_Cursor; /*DELETE BATCH HEADER AND BATCH DETAILS*/ DELETE FROM [dbo].[BatchDetails] WHERE [BatchNo] = @PostedBatchNo DELETE FROM [dbo].[BatchH] WHERE [BatchNo] = @PostedBatchNo COMMIT TRAN END TRY BEGIN CATCH ROLLBACK TRAN END CATCH END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_UpdatePostingSAMPurchaseBill' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_UpdatePostingSAMPurchaseBill] END GO CREATE PROCEDURE [dbo].[KAAS_UpdatePostingSAMPurchaseBill] ( @PostedBatchNo INT = 0, @PostedType VARCHAR(1) = '', @IsPostingFwd VARCHAR(1) = '', @HandlerName VARCHAR(20) = '' ) AS /******************************************************************************************************* * Update Purchase Bill Posting Logic * * * * Stored Procedure Name : [dbo].[KAAS_UpdatePostingSAMPurchaseBill] * * * * Modification History: * * 2021-11-17 Balamurugan C Created * *******************************************************************************************************/ BEGIN BEGIN TRY BEGIN TRAN -- /* SELECT BATCH HEADER AND INSERT INTO TABLE VARIBALE*/ DECLARE @tempBatchH TABLE ([BatchNo] [int] NOT NULL, [Type] [char](1) NULL, [Code] [char](10) NULL, [Ref] [char](10) NULL, [Date] [datetime] NULL, [Matter] [varchar](20) NULL, [SubTotal] [decimal](17, 2) NULL, [Supp] [char](10) NULL, [Narr] [char](150) NULL, [Value] [decimal](17, 2) NULL, [CurrencyValue] [decimal](17, 2) NULL, [Posted] [char](1) NULL, [Branch] [varchar](3) NULL, [PerNo] [smallint] NULL, [Year] [smallint] NULL, [EntryDate] [datetime] NULL, [RecNo] [int] NULL, [ChequeReqNo] [int] NULL, [UserCode] [char](8) NULL, [Pref] [int] NULL, [ClientAc] [char](1) NULL, [EFT] [char](1) NOT NULL, [ClientBank] [char](10) NULL, [ThirdParty] [char](1) NULL, [Payee] [char](60) NULL, [EFTSent] [char](1) NOT NULL, [PayClient] [char](1) NOT NULL, [OnceOffPayment] [char](1) NOT NULL, [ClientCode] [varchar](10) NULL, [Feetotal] [decimal](17, 2) NULL, [Outlaytotal] [decimal](17, 2) NULL, [VatTotal] [decimal](17, 2) NULL, [WriteDown] [datetime] NULL, [WriteBackHours] [decimal](7, 2) NULL, [WriteBackValue] [decimal](13, 2) NULL, [CreditInvoiceNo][int] NULL, [Invcr] [char](1) NULL, [Fee] [varchar](10) NULL, [PaymentMethod] [int] NULL, [ClearedDate] [datetime] NULL) INSERT INTO @tempBatchH SELECT [BAH].[BatchNo], RTRIM(ISNULL([BAH].[Type],'')), [BAH].[Code], RTRIM(ISNULL([BAH].[Ref],'')), dbo.KEYHM_FNConvertUTCDateToTargetTimeZone([BAH].[Date], @HandlerName), [BAH].[Matter], [BAH].[SUBTOT], [BAH].[Supp], [BAH].[Narr], [BAH].[Value], [BAH].[CurrencyValue], [BAH].[Posted], [BAH].[Branch], [BAH].[PerNo], [BAH].[Year], dbo.KEYHM_FNConvertUTCDateToTargetTimeZone([BAH].[EntryDate], @HandlerName) AS [EntryDate], [BAH].[RecNo], [BAH].[ChequeReqNo], [BAH].[UserCode], [BAH].[Pref], [BAH].[ClientAc], [BAH].[EFTYorN], [BAH].[CLIENTBANK], [BAH].[ThirdParty], [BAH].[Payee], [BAH].[EFTSent], [BAH].[PayClient], [BAH].[OnceOffPayment], [BAH].[ClientCode], [BAH].[FEETOT], [BAH].[OUTLAYTOT], [BAH].[VATTOT], [BAH].[WRITEDOWN], [BAH].[WRITEBACKHOURS], [BAH].[WRITEBACKVALUE], [BAH].[CREDITINVOICENO], [BAH].[INVCR], [BAH].[FEE], [BAH].[PaymentMethod], [BAH].[ClearedDate] FROM [dbo].[BatchH] [BAH] WITH(NOLOCK) WHERE [BAH].[BatchNo] = @PostedBatchNo /* SELECT BATCH DETAILS AND INSERT INTO TEMP TABLE VARIBLE*/ DECLARE @tempBatchDetails TABLE ( [BatchNo] [INT] NOT NULL, [Type] [CHAR](1) NULL, [Code] [CHAR](10) NULL, [Pref] [INT] NULL, [Ref] [CHAR](10) NULL, [Date] [DATETIME] NULL, [Fee] [VARCHAR](10) NULL, [Branch] [VARCHAR](3) NULL, [Narr] [CHAR](100) NULL, [Matter] [VARCHAR](20) NULL, [Supp] [CHAR](10) NULL, [Value] [DECIMAL](17, 2) NULL, [VatCode] [CHAR](1) NULL, [VatVal] [DECIMAL](17, 2) NULL, [ClientYN] [CHAR](1) NULL, [Outlay] [CHAR](1) NULL, [Pending] [CHAR](1) NULL, [Year] [SMALLINT] NULL, [PerNo] [SMALLINT] NULL, [EntryCurrency] [CHAR](1) NULL, [CurrencyValue] [DECIMAL](17, 2) NULL, [CurrencyVat] [DECIMAL](17, 2) NULL, [OutlayCode] [CHAR](4) NULL, [ThirdParty] [CHAR](1) NULL, [Payee] [CHAR](60) NULL, [HeadPref] [INT] NULL, [HeadBatch] [INT] NULL, [AllocBatch] [INT] NULL, [AllocPref] [INT] NULL, [AllocRef] [CHAR](10) NULL, [AllocValue] [DECIMAL](17, 2) NULL, [AllocWriteOff] [CHAR](1) NULL, [Psupp] [CHAR](10) NULL, [Undetaking] [SMALLINT] NULL, [CaseAssCode] [VARCHAR](6) NULL, [OnceOffPayment] [CHAR](1) NOT NULL, [PayClient] [CHAR](1) NOT NULL, [ClientCode] [VARCHAR](10) NULL, [EFTemailYorN] [CHAR](1) NOT NULL, [RegisteredPost] [INT] NULL, [PreBilledOutlay] [BIT] NOT NULL, [KeyId] [INT] NOT NULL ) INSERT INTO @tempBatchDetails SELECT [BATCHNO], [TYPE], [CODE], [PREF], [REF], [DATE], [FEE], [BRANCH], [NARR], [MATTER], [SUPP], [VALUE], [VATCODE], [VATVAL], [CLIENTYN], [OUTLAY], [PENDING], [YEAR], [PERNO], [ENTRYCURRENCY], [CURRENCYVALUE], [CURRENCYVAT], [OUTLAYCODE], [THIRDPARTY], [PAYEE], [HEADPREF], [HEADBATCH], [ALLOCBATCH], [ALLOCPREF], [ALLOCREF], [ALLOCVALUE], [ALLOCWRITEOFF], [PSUPP], [UNDETAKING], [CaseAssCode], [OnceOffPayment], [PayClient], [ClientCode], [EFTEmailYorN], [RegisteredPost], [PreBilledOutlay], [KEYID] FROM [dbo].[BatchDetails] WITH(NOLOCK) WHERE [BATCHNO] = @PostedBatchNo DECLARE @VATControlCode VARCHAR(20) = '', @ClientControlCode VARCHAR(20) = '', @CurPer INT = 0, @InvCr VARCHAR(1) = '', @InvCrValue INT = 0, @PendingOutlay VARCHAR = ''; /*FLAG VALUES*/ SELECT @VATControlCode = [Vat] FROM [dbo].[Control] SELECT @ClientControlCode = [Client] FROM [dbo].[Control] SELECT @CurPer = [CurPer] FROM [dbo].[Control] SELECT @InvCr = [INVCR] FROM @tempBatchH SELECT @PendingOutlay = [PendingOutlay] FROM [dbo].[Control] IF(@InvCr = 'C') BEGIN SET @InvCrValue = -1; END ELSE BEGIN SET @InvCrValue = 1; END /*INSERT INTO MATTER LEDGER TABLE*/ DECLARE @BatchNo INT , @Type VARCHAR(20), @Code VARCHAR(50), @Pref INT, @Ref VARCHAR(10), @Date DATETIME, @Fee VARCHAR(30), @Narr VARCHAR(200), @Matter VARCHAR(10), @Value DECIMAL(18,2), @VatCode VARCHAR(1), @VatVal DECIMAL(18,2), @Outlay VARCHAR(1), @Year INT, @PerNo INT, @EntryCurr VARCHAR(1), @CurrValue DECIMAL(18,2), @CurrVat DECIMAL(18,2), @ClearedDate DATETIME DECLARE batchDetails_Cursor CURSOR FOR SELECT [TBD].[BatchNo], [TBD].[Type], [TBD].[Code], [TBD].[Pref], [TBD].[Ref], [TBD].[Date], [TBD].[Fee], [TBD].[Narr], [TBD].[Matter], [TBD].[Value], [TBD].[VatCode], [TBD].[VatVal], [TBD].[Outlay], [TBD].[Year], [TBD].[PerNo], [TBD].[EntryCurrency], [TBD].[CurrencyValue], [TBD].[CurrencyVat], [TBH].[ClearedDate] FROM @tempBatchDetails [TBD] LEFT JOIN @tempBatchH [TBH] ON [TBH].[BatchNo] = [TBD].[BatchNo] WHERE [Outlay] <> 'N' ORDER BY [KeyId] OPEN batchDetails_Cursor FETCH NEXT FROM batchDetails_Cursor INTO @BatchNo, @Type, @Code, @Pref, @Ref, @Date, @Fee, @Narr, @Matter, @Value, @VatCode, @VatVal, @Outlay, @Year, @PerNo, @EntryCurr, @CurrValue, @CurrVat, @ClearedDate WHILE @@FETCH_STATUS = 0 BEGIN INSERT INTO [dbo].[MatterLedger] ( [Matter], [BatchNo], [Pref], [Date], [Ref], [Narr], [ValueD], [ValueO], [ValueC], [Fee], [Per], [Year], [EntryDate], [Client], [ValueCC], [ValueCD], [DepositType], [CurValueD], [CurValueO], [CurValueC], [CurValueCC], [CurValueCD], [Billed], [BillingYear], [BillingPeriod], [BillingDate], [BilledOutlayValue], [InvoiceNo], [IncludeInBill], [ClearedDate] ) VALUES ( @Code ,@BatchNo ,@Pref ,@Date ,@Ref ,@Narr ,0.00 ,@Value*@InvCrValue ,0.00 ,@Fee ,@PerNo ,@Year ,@Date ,SUBSTRING(@Matter, 1, 6) ,0.00 ,0.00 ,'' ,0.00 ,@CurrValue*@InvCrValue ,0.00 ,0.00 ,0.00 ,'' ,0 ,0 ,null ,0.00 ,0 ,0 ,@ClearedDate ) FETCH NEXT FROM batchDetails_Cursor INTO @BatchNo, @Type, @Code, @Pref, @Ref, @Date, @Fee, @Narr, @Matter, @Value, @VatCode, @VatVal, @Outlay, @Year, @PerNo, @EntryCurr, @CurrValue, @CurrVat, @ClearedDate END CLOSE batchDetails_Cursor; DEALLOCATE batchDetails_Cursor; /*INSERT INTO PENDING OUTLAY*/ IF(@PendingOutlay='Y') BEGIN INSERT INTO [dbo].[PendingOutlay] ( [Matter], [Date], [Supplier], [Ref], [Narrative], [Value] ) SELECT [TBD].[Matter], [TBD].[Date], [TBH].[Supp], [TBD].[Ref], [TBD].[Narr], [TBD].[Value] * @InvCrValue FROM @tempBatchDetails [TBD] JOIN @tempBatchH [TBH] ON [TBH].[BatchNo] = [TBD].[BatchNo] WHERE [TBD].[Matter]<>'' END /*INSERT INTO NOMINAL LEDGER -BATCH HEADER */ INSERT INTO [dbo].[NominalLedger] ( [Code], [Branch], [BatchNo], [Pref], [Date], [Ref], [Narr], [Matter], [Supp], [Fee], [Value], [CurrencyValue], [Per], [Year], [EntryDate], [RecNo], [ClearedDate] ) ( SELECT [TBH].[ClientBank], [TBH].[Branch], [TBH].[BatchNo], [TBH].[Pref], [TBH].[Date], [TBH].[Ref], [TBH].[Narr], [TBH].[Matter], [TBH].[Supp], [TBH].[Fee], ISNULL([TBH].[Value],0) * @InvCrValue AS [Value], ISNULL([TBH].[CurrencyValue],0) * @InvCrValue AS [CurrencyValue], [TBH].[PerNo], [TBH].[Year], [TBH].[EntryDate], [TBH].[RecNo], [TBH].[ClearedDate] FROM @tempBatchH [TBH] ) /*INSERT INTO NOMINAL LEDGER - BATCH DETAILS WITH CORRESSPONDING VAT CODE ENTRY*/ DECLARE @tempNominalLedger TABLE ( [Code] VARCHAR(10) NULL, [Branch] VARCHAR(3) NULL, [BatchNo] INT NULL, [Pref] INT NULL, [Date] DATETIME NULL, [Ref] VARCHAR(10) NULL, [Narr] VARCHAR(100) NULL, [Matter] VARCHAR(20) NULL, [Supp] VARCHAR(10) NULL, [Fee] VARCHAR(10) NULL, [Value] DECIMAL(17,2) NULL, [CurrencyValue] DECIMAL(17,2) NULL, [Per] SMALLINT NULL, [Year] SMALLINT NULL, [EntryDate] DATETIME NULL, [RecNo] INT NULL, [ClearedDate] DATETIME NULL, [VatCode] VARCHAR(20) NULL, [VatCodeValue] DECIMAL(17,2) NULL, [VatCodeCurrencyVat] DECIMAL(17,2) NULL ) INSERT INTO @tempNominalLedger SELECT [TBD].CODE, [TBD].BRANCH, [TBD].BATCHNO, [TBD].PREF, [TBD].[DATE], [TBD].REF, [TBD].NARR, [TBD].MATTER, [TBD].SUPP, [TBD].FEE, ISNULL([TBD].[VALUE] * @InvCrValue,0), ISNULL([TBD].[CURRENCYVALUE] * @InvCrValue,0), [TBD].PERNO, [TBD].[YEAR], [TBH].[EntryDate], [TBH].RecNo, [TBH].[ClearedDate], @VATControlCode AS [VatCode], ISNULL(VatVal * @InvCrValue,0), ISNULL(CurrencyVat * @InvCrValue,0) FROM @tempBatchDetails [TBD] LEFT JOIN @tempBatchH [TBH] ON [TBH].[BatchNo]=[TBD].[BatchNo] INSERT INTO [dbo].[NominalLedger] ( [Code], [Branch], [BatchNo], [Pref], [Date], [Ref], [Narr], [Matter], [Supp], [Fee], [Value], [CurrencyValue], [Per], [Year], [EntryDate], [RecNo], [ClearedDate] ) ( SELECT CA.Code, CA.Branch, CA.BatchNo, CA.Pref, CA.[Date], CA.Ref, CA.Narr, CA.Matter, CA.Supp, CA.Fee, CA.[Value], CA.[CurrencyValue], CA.Per, CA.[Year], CA.[EntryDate], CA.RecNo, CA.ClearedDate FROM @tempNominalLedger CROSS APPLY ( VALUES (Code,BatchNo,Branch,Pref,[Date],Ref,Narr,Matter,Supp,Fee,[Value],[CurrencyValue],Per,[Year],[EntryDate],RecNo,ClearedDate), (VATCode,BatchNo,Branch,Pref,[Date],Ref,Narr,Matter,Supp,Fee,VatCodeValue,VatCodeCurrencyVat,Per,[Year],[EntryDate],RecNo,ClearedDate) ) AS CA (Code,BatchNo,Branch,Pref,[Date],Ref,Narr,Matter,Supp,Fee,[Value],[CurrencyValue],Per,[Year],[EntryDate],RecNo,ClearedDate) ) /*UPDATE NOMINAL HEADER FOR DETAILS LINES*/ UPDATE [NOM] SET [NOM].[Balance] = ISNULL([NOM].[Balance],0)+([TBD].[Value] * -1 * @InvCrValue), [NOM].[CurrencyBal] = ISNULL([NOM].[CurrencyBal],0)+([TBD].[CurrencyValue] * -1 * @InvCrValue), [NOM].[BalanceFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([NOM].[BalanceFwd],0)+([TBD].[Value] * -1 * @InvCrValue) ELSE ISNULL([NOM].[BalanceFwd],0) END, [NOM].[CurrencyBalFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([NOM].[CurrencyBalFwd],0)+([TBD].[CurrencyValue] * -1 * @InvCrValue) ELSE ISNULL([NOM].[CurrencyBalFwd],0) END, [NOM].[Month1] = CASE WHEN @CurPer = 1 AND @IsPostingFwd<>'Y' THEN [NOM].[Month1]+([TBD].[Value] * -1 * @InvCrValue) ELSE [NOM].[Month1] END, [NOM].[Month2] = CASE WHEN @CurPer = 2 AND @IsPostingFwd<>'Y' THEN [NOM].[Month2]+([TBD].[Value] * -1 * @InvCrValue) ELSE [NOM].[Month2] END, [NOM].[Month3] = CASE WHEN @CurPer = 3 AND @IsPostingFwd<>'Y' THEN [NOM].[Month3]+([TBD].[Value] * -1 * @InvCrValue) ELSE [NOM].[Month3] END, [NOM].[Month4] = CASE WHEN @CurPer = 4 AND @IsPostingFwd<>'Y' THEN [NOM].[Month4]+([TBD].[Value] * -1 * @InvCrValue) ELSE [NOM].[Month4] END, [NOM].[Month5] = CASE WHEN @CurPer = 5 AND @IsPostingFwd<>'Y' THEN [NOM].[Month5]+([TBD].[Value] * -1 * @InvCrValue) ELSE [NOM].[Month5] END, [NOM].[Month6] = CASE WHEN @CurPer = 6 AND @IsPostingFwd<>'Y' THEN [NOM].[Month6]+([TBD].[Value] * -1 * @InvCrValue) ELSE [NOM].[Month6] END, [NOM].[Month7] = CASE WHEN @CurPer = 7 AND @IsPostingFwd<>'Y' THEN [NOM].[Month7]+([TBD].[Value] * -1 * @InvCrValue) ELSE [NOM].[Month7] END, [NOM].[Month8] = CASE WHEN @CurPer = 8 AND @IsPostingFwd<>'Y' THEN [NOM].[Month8]+([TBD].[Value] * -1 * @InvCrValue) ELSE [NOM].[Month8] END, [NOM].[Month9] = CASE WHEN @CurPer = 9 AND @IsPostingFwd<>'Y' THEN [NOM].[Month9]+([TBD].[Value] * -1 * @InvCrValue) ELSE [NOM].[Month9] END, [NOM].[Month10] = CASE WHEN @CurPer = 10 AND @IsPostingFwd<>'Y' THEN [NOM].[Month10]+([TBD].[Value] * -1 * @InvCrValue) ELSE [NOM].[Month10] END, [NOM].[Month11] = CASE WHEN @CurPer = 11 AND @IsPostingFwd<>'Y' THEN [NOM].[Month11]+([TBD].[Value] * -1 * @InvCrValue) ELSE [NOM].[Month11] END, [NOM].[Month12] = CASE WHEN @CurPer = 11 AND @IsPostingFwd<>'Y' THEN [NOM].[Month12]+([TBD].[Value] * -1 * @InvCrValue) ELSE [NOM].[Month12] END FROM [dbo].[Nominal] [NOM] JOIN @tempBatchDetails [TBD] ON [NOM].[Code] = [TBD].[Code] /*UPDATE NOMINAL HEADER FOR VAT UPDATE*/ UPDATE [NOM] SET [NOM].[Balance] = ISNULL([NOM].[Balance],0)+([TBD].[VatVal] * -1 * @InvCrValue), [NOM].[CurrencyBal] = ISNULL([NOM].[CurrencyBal],0)+([TBD].[CurrencyVat] * -1 * @InvCrValue), [NOM].[BalanceFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([NOM].[BalanceFwd],0)+([TBD].[VatVal] * -1 * @InvCrValue) ELSE ISNULL([NOM].[BalanceFwd],0) END, [NOM].[CurrencyBalFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([NOM].[CurrencyBalFwd],0)+([TBD].[CurrencyVat] * -1 * @InvCrValue) ELSE ISNULL([NOM].[CurrencyBalFwd],0) END, [NOM].[Month1] = CASE WHEN @CurPer = 1 AND @IsPostingFwd<>'Y' THEN [NOM].[Month1]+([TBD].[VatVal] * -1 * @InvCrValue) ELSE [NOM].[Month1] END, [NOM].[Month2] = CASE WHEN @CurPer = 2 AND @IsPostingFwd<>'Y' THEN [NOM].[Month2]+([TBD].[VatVal] * -1 * @InvCrValue) ELSE [NOM].[Month2] END, [NOM].[Month3] = CASE WHEN @CurPer = 3 AND @IsPostingFwd<>'Y' THEN [NOM].[Month3]+([TBD].[VatVal] * -1 * @InvCrValue) ELSE [NOM].[Month3] END, [NOM].[Month4] = CASE WHEN @CurPer = 4 AND @IsPostingFwd<>'Y' THEN [NOM].[Month4]+([TBD].[VatVal] * -1 * @InvCrValue) ELSE [NOM].[Month4] END, [NOM].[Month5] = CASE WHEN @CurPer = 5 AND @IsPostingFwd<>'Y' THEN [NOM].[Month5]+([TBD].[VatVal] * -1 * @InvCrValue) ELSE [NOM].[Month5] END, [NOM].[Month6] = CASE WHEN @CurPer = 6 AND @IsPostingFwd<>'Y' THEN [NOM].[Month6]+([TBD].[VatVal] * -1 * @InvCrValue) ELSE [NOM].[Month6] END, [NOM].[Month7] = CASE WHEN @CurPer = 7 AND @IsPostingFwd<>'Y' THEN [NOM].[Month7]+([TBD].[VatVal] * -1 * @InvCrValue) ELSE [NOM].[Month7] END, [NOM].[Month8] = CASE WHEN @CurPer = 8 AND @IsPostingFwd<>'Y' THEN [NOM].[Month8]+([TBD].[VatVal] * -1 * @InvCrValue) ELSE [NOM].[Month8] END, [NOM].[Month9] = CASE WHEN @CurPer = 9 AND @IsPostingFwd<>'Y' THEN [NOM].[Month9]+([TBD].[VatVal] * -1 * @InvCrValue) ELSE [NOM].[Month9] END, [NOM].[Month10] = CASE WHEN @CurPer = 10 AND @IsPostingFwd<>'Y' THEN [NOM].[Month10]+([TBD].[VatVal] * -1 * @InvCrValue) ELSE [NOM].[Month10] END, [NOM].[Month11] = CASE WHEN @CurPer = 11 AND @IsPostingFwd<>'Y' THEN [NOM].[Month11]+([TBD].[VatVal] * -1 * @InvCrValue) ELSE [NOM].[Month11] END, [NOM].[Month12] = CASE WHEN @CurPer = 11 AND @IsPostingFwd<>'Y' THEN [NOM].[Month12]+([TBD].[VatVal] * -1 * @InvCrValue) ELSE [NOM].[Month12] END FROM [dbo].[Nominal] [NOM] JOIN @tempBatchDetails [TBD] ON [NOM].[Code] = @VATControlCode /*UPDATE CONTACT TABLE FOR OUTLAY */ UPDATE [CON] SET [CON].[OutlayBal] = ISNULL([CON].[OutlayBal],0) + ISNULL([TBD].[Value] * @InvCrValue,0), [CON].[CurOutlayBal] = ISNULL([CON].[CurOutlayBal],0) + ISNULL([TBD].[CurrencyValue] * @InvCrValue,0) FROM [dbo].[Contacts] [CON] INNER JOIN @tempBatchDetails [TBD] ON [CON].[Code] = SUBSTRING([TBD].[Matter], 1, 6) INNER JOIN @tempBatchH [TBH] ON [TBH].[BatchNo]=[TBD].[BatchNo] WHERE [TBD].[Outlay] = 'O' /*UPDATE MATTER TABLE FOR OUTLAY */ UPDATE [MAT] SET [MAT].[OutlayBal] = ISNULL([MAT].[OutlayBal],0) + ISNULL([TBD].[Value] * @InvCrValue,0), [MAT].[PendingBal] = ISNULL([MAT].[PendingBal],0) + ISNULL([TBD].[Value] * @InvCrValue,0), [MAT].[CurOutlayBal] = ISNULL([MAT].[CurOutlayBal],0) + ISNULL([TBD].[CurrencyValue] * @InvCrValue,0), [MAT].[CurPendingBal] = ISNULL([MAT].[CurPendingBal],0) + ISNULL([TBD].[CurrencyValue] * @InvCrValue,0), [MAT].[OutlayBalFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([MAT].[OutlayBalFwd],0) + ISNULL([TBD].[Value] * @InvCrValue,0) ELSE [MAT].[OutlayBalFwd] END, [MAT].[CurOutlayBalFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([MAT].[CurOutlayBalFwd],0) + ISNULL([TBD].[CurrencyValue] * @InvCrValue,0) ELSE [MAT].[CurOutlayBalFwd] END FROM [dbo].[matters] [MAT] INNER JOIN @tempBatchDetails [TBD] ON [MAT].[Code] = [TBD].[Matter] WHERE [TBD].[Outlay] = 'O' /*INSERT SUPLLIER LEDGER*/ INSERT INTO [dbo].[SupplierLedger] ( [Supp], [Type], [Date], [Ref], [BatchNo], [Pref], [Narr], [Original], [OsValue], [Year], [Per], [EntryDate], [ThirdParty], [Matter] ) SELECT [Supp], [Type], [Date], [Ref], [BatchNo], [Pref], [Narr], [Value] * -1 * @InvCrValue, [Value] * -1 * @InvCrValue, [Year], [PerNo], CAST(GETDATE() AS DATE), [ThirdParty], [Matter] FROM @tempBatchH [TBH] WHERE ISNULL(RTRIM([TBH].[Supp]),'') <> '' /*UPDATE SUPPLIER HEADER BASED ON SUPPLIER CODE*/ UPDATE [SUP] SET [SUP].[Balance] = ISNULL([SUP].[Balance],0) + ISNULL([TBH].[Value] * -1 * @InvCrValue,0), [SUP].[BalanceFwd] = CASE WHEN @IsPostingFwd='Y' THEN ISNULL([SUP].[Balance],0) + ISNULL([TBH].[Value] * -1 * @InvCrValue,0) ELSE [BalanceFwd] END FROM [dbo].[Suppliers] [SUP] JOIN @tempBatchH [TBH] ON RTRIM([SUP].[Code]) = RTRIM([TBH].[Supp]) WHERE ISNULL(RTRIM([TBH].[Supp]),'') <> '' /*UPDATE BATCH HEADER POSTED DETAILS*/ UPDATE [dbo].[BatchH] SET [Posted] = 'Y', [PostFwd] = CASE WHEN @IsPostingFwd = 'Y' THEN 'Y' ELSE 'N' END WHERE [BatchNo] = @PostedBatchNo COMMIT TRAN END TRY BEGIN CATCH ROLLBACK TRAN END CATCH END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_UpdateSAMApprovedChequeRequisition' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_UpdateSAMApprovedChequeRequisition] END GO CREATE PROCEDURE [dbo].[KAAS_UpdateSAMApprovedChequeRequisition] ( @Date DATETIME = NULL, @OutlayCode VARCHAR(4) = '', @ThirdParty CHAR(1) = '', @Narrative VARCHAR(100) = '', @Note VARCHAR(100) = '', @ReqNo INT = 0 ) AS /******************************************************************************************************* * Update the Approved Cheque Reqisition Details * * * * Stored Procedure Name : [dbo].[dbo].[KAAS_UpdateSAMApprovedChequeRequisition] * * * * Modification History: * * 2021-09-14 Balamurugan.C Created * *******************************************************************************************************/ BEGIN IF EXISTS ( SELECT TOP 1 1 FROM [dbo].[ChequeRequisitionHeader] WHERE [ReqNo] = @ReqNo ) BEGIN UPDATE [dbo].[ChequeRequisitionHeader] SET [Date] = @Date, [OutlayCode] = @OutlayCode, [ThirdParty] = @ThirdParty, [Narrative] = @Narrative, [ReturnReason] = @Note WHERE [ReqNo] = @ReqNo END END GO IF EXISTS(SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_UpdateSAMFNLDetails' AND SO.[type] = 'P' ) BEGIN DROP PROCEDURE [dbo].[KAAS_UpdateSAMFNLDetails] END GO CREATE PROCEDURE [dbo].[KAAS_UpdateSAMFNLDetails] ( @MatterCode VARCHAR(20), @FNLDate DATETIME, @FNLName VARCHAR(50), @FNLAddress VARCHAR(100), @FNLFees DECIMAL, @FNLVat DECIMAL, @FNLOutlay DECIMAL, @FNLTotal DECIMAL, @ClientMin DECIMAL, @Result TINYINT OUTPUT ) AS /************************************************************************************************************************************************* * * *Used to list the matter ledger * * Stored Procedure Name: [dbo].[KAAS_UpdateSAMFNLDetails] '000001/0000','2021-04-12 17:54:13.453','RAJ','SET ADDRESS','40','20','10','70',50,0 * * Modification History: * * 2021-03-11 Natarajan S Created * * 2021-07-13 Natarajan S Modified - Added Formatting * *************************************************************************************************************************************************/ BEGIN TRY BEGIN TRANSACTION DECLARE @Narrative VARCHAR(80) DECLARE @SpaceVal INT DECLARE @NameLen INT DECLARE @CurrDate DATETIME SET @CurrDate = GETDATE() UPDATE [OMO] SET [OMO].[FNL_Date] = @FNLDate, [OMO].[FNL_Name] = @FNLName, [OMO].[FNL_Address] = @FNLAddress, [OMO].[FNL_Fees] = @FNLFees, [OMO].[FNL_VAT] = @FNLVat, [OMO].[FNL_Outlay] = @FNLOutlay FROM [dbo].[OpenMattersOnly] [OMO] WHERE [OMO].[Code] = @MatterCode UPDATE [MAT] SET [MAT].[FNL_Date] = @FNLDate, [MAT].[FNL_Name] = @FNLName, [MAT].[FNL_Address] = @FNLAddress, [MAT].[FNL_Fees] = @FNLFees, [MAT].[FNL_VAT] = @FNLVat, [MAT].[FNL_Outlay] = @FNLOutlay, [MAT].[FNL_Total] = @FNLTotal FROM [dbo].[Matters] [MAT] WHERE [MAT].[Code] = @MatterCode SET @NameLen = LEN(@FNLName); SET @SpaceVal = 50 - @NameLen; SET @Narrative = CONCAT( 'FNL: €', @FNLTotal, SPACE(2), @FNLName, SPACE(@SpaceVal), SPACE(2), 'Fees: €', @FNLFees, SPACE(2), 'O/L: €', @FNLOutlay) EXEC KAAS_INSERTSAMMatterLedgerComment @MatterCode, @Narrative, @ClientMin, @CurrDate, @Result SET @Result = 1 COMMIT TRANSACTION END TRY BEGIN CATCH SET @Result = 0 ROLLBACK TRANSACTION END CATCH GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_UpdateSAMSystemOptionsDetails' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_UpdateSAMSystemOptionsDetails] END GO CREATE PROCEDURE [dbo].[KAAS_UpdateSAMSystemOptionsDetails] ( @TabName VARCHAR(50) = '', @Licencee VARCHAR(40) = '', @VatNo VARCHAR(20) = '', @Year INT = 0, @DebtorsControlAc VARCHAR(10) = '', @CreditorsControlAc VARCHAR(10) = '', @CurrentPeriod INT = 0, @NextPeriodEnd DATETIME = NULL, @OutlayControlAc VARCHAR(10) = '', @VatAc VARCHAR(10) = '', @YearEndDate DATETIME = NULL, @ProfitLossAc VARCHAR(10) = '', @ClientLedgerControl VARCHAR(10) = '', @StdOutlayBudget DECIMAL = 0, @FeeWriteOffAc VARCHAR(10) = '', @OutlayWriteOffAc VARCHAR(10) = '', @LastBillNo INT = 0, @VatExclusionCode VARCHAR(1) = '', @PurchBillWriteOffAc VARCHAR(10) = '', @DefaultOfficeAc VARCHAR(10) = '', @DefaultVat VARCHAR(1) = '', @FeeExclusionCode VARCHAR(10) = '', @DefaultClientDepositAc VARCHAR(10) = '', @MiscOutlay VARCHAR(10) = '', @DefaultMiscOutlayFee VARCHAR(10) = '', @DefaultPettyCash VARCHAR(10) = '', @WithHoldingTax VARCHAR(10) = '', @EnableFNL VARCHAR(10) = '', @ShowConvertedLedgerBtn VARCHAR(1) = '', @EnableClientDB VARCHAR(1) = '', @UK VARCHAR(1) = '', @EnableDeedWills VARCHAR(1) = '', @YearEndCompleted VARCHAR(1) = '', @EnableFileManager VARCHAR(1) = '', @UseOutlayType VARCHAR(1) = '', @PendingOutlay VARCHAR(1) = '', @UseBranches VARCHAR(1) = '', @EnableBankRec VARCHAR(1) = '', @BillPrinting VARCHAR(1) = '', @UniqueMatterNumber VARCHAR(1) = '', @TaggedBatches VARCHAR(1) = '', @OverdrawnClientAc VARCHAR(1) = '', @IntrestCalculator VARCHAR(1) = '', @WordPerfect VARCHAR(1) = '', @Indicator24 VARCHAR(1) = '', @Indicator25 VARCHAR(1) = '', @Indicator26 VARCHAR(1) = '', @Indicator27 VARCHAR(1) = '', @Indicator28 VARCHAR(1) = '', @Indicator29 VARCHAR(1) = '', @Indicator30 VARCHAR(1) = '', @DemoExpire INT = 0, @MaxMatter DECIMAL = 0, @CaseMgrLink VARCHAR(1) = '', @TimeCostingInstalled VARCHAR(1) = '', @ForceFeeEarner VARCHAR(1) = '', @LabelPrinter VARCHAR(1) = '', @FeeReporting VARCHAR(10) = '', @CompositeBilling VARCHAR(1) = '', @SolicitorCategory VARCHAR(6) = '', @OtherPartyCategory VARCHAR(6) = '', @SupplierCategory VARCHAR(6) = '', @SystemCategoryType VARCHAR(6) = '', @AutoNumberClient VARCHAR(1) = '', @AutoAlphaNumbering VARCHAR(1) = '', @CloseMatterTimeBarred VARCHAR(1) = '', @SupplierRemittance VARCHAR(1) = '', @EFTDefaultON VARCHAR(1) = '', @MatterOutlayBudgetChkON VARCHAR(1) = '', @ThirdPartyLimit DECIMAL = 0, @DatePastValidation INT = 0, @DateFutureValidation INT = 0, @ConversionRate DECIMAL = 0, @PromptRef1 VARCHAR(20) = '', @PromptRef2 VARCHAR(20) = '', @PromptRef3 VARCHAR(20) = '', @NextFile INT = 0, @ClosedFileNo INT = 0, @ChequeType VARCHAR(2) = '', @EnableChequePrinting VARCHAR(1) = '', @LabelNo VARCHAR(2) = '', @InvoiceApproverEmail VARCHAR(100) = '', @ChequeApproverEmail VARCHAR(100) = '', @NotifyReturnInvoice VARCHAR(1) = '', @NotifyApprovedInvoice VARCHAR(1) = '', @NotifyReturnCheque VARCHAR(1) = '', @NotifyApprovedCheque VARCHAR(1) = '', @SMTPMailServer VARCHAR(100) = '', @MoneyLaunderingCheck VARCHAR(1) = '', @MoneyLaunderingDept VARCHAR(20) = '', @MoneyLaunderingFE VARCHAR(20) = '', @MoneyLaunderingWorkType VARCHAR(20) = '' ) AS /******************************************************************************************************* * This SP used to update the System Options details * * * * Stored Procedure Name : [dbo].[KAAS_UpdateSAMSystemOptionsDetails] * * Copied From : ky_NETSYSCONUpdateConfigurationSettings10 * * * * Modification History : * * 2021-08-09 Balamurugan.C Created * * 2021-09-20 Balamurugan.C Modified- Removed Year End Date from control table and used * srettings table year end date * *******************************************************************************************************/ BEGIN SET NOCOUNT ON IF(@TabName = 'SystemOptions') BEGIN -- Log changes to LastBill DECLARE @CURLASTBILL VARCHAR(20) SELECT TOP 1 @CURLASTBILL = CONVERT(VARCHAR(20), ISNULL(CON.[LASTBILL], 0)) FROM [dbo].[control] AS CON IF ISNULL(@CURLASTBILL, '') <> ISNULL(@LastBillNo, '') BEGIN INSERT INTO [dbo].[Log] ( [DATE], [USER], [EVENT] ) SELECT DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()), 0), [dbo].[ky_NETFNGetLoggedOnHandler](), 'System Options Change (Last Bill No) from: ' + ISNULL(@CURLASTBILL, '') + ' to: ' + ISNULL(@LastBillNo, '') END UPDATE [dbo].[Control] SET [Name] = @Licencee, [VatNo] = @VatNo, [Year] = @Year, [Debtors] = @DebtorsControlAc, [Creditor] = @CreditorsControlAc, [CurPer] = @CurrentPeriod, [Outlay] = @OutlayControlAc, [Vat] = @VatAc, [Pl] = @ProfitLossAc, [Client] = @ClientLedgerControl, [OutlayBudget] = @StdOutlayBudget, [FeesWriteOff] = @FeeWriteOffAc, [OutlayWriteOff] = @OutlayWriteOffAc, [LastBill] = @LastBillNo, [VatExclude] = @VatExclusionCode, [BillsWriteOff] = @PurchBillWriteOffAc, [DefaultOfficeAc] = @DefaultOfficeAc, [DefaultVat] = @DefaultVat, [FeeExclude] = @FeeExclusionCode, [DefaultClientDep] = @DefaultClientDepositAc, [MiscOutlay] = @MiscOutlay, [MiscFE] = @DefaultMiscOutlayFee, [PettyCash] = @DefaultPettyCash, [WithTax] = @WithHoldingTax, [EnableFNL] = @EnableFNL, [PeriodEnd] = (SELECT [dbo].[KAAS_FN_ConvertDateToClarion](@NextPeriodEnd)) IF EXISTS ( SELECT TOP 1 1 FROM [dbo].[Settings] WHERE [KeyName] = 'Options_Conversion' ) UPDATE [dbo].[Settings] SET [KeyValue] = @ShowConvertedLedgerBtn WHERE [KeyName] = 'Options_Conversion' ELSE INSERT INTO [dbo].[Settings] ( [KeyName], [KeyValue] ) VALUES ( 'Options_Conversion', @ShowConvertedLedgerBtn ) IF EXISTS ( SELECT TOP 1 1 FROM [dbo].[Settings] WHERE [KeyName] = 'YearEndDate' ) UPDATE [dbo].[Settings] SET [KeyValue] = CONVERT(VARCHAR(10), CAST(@YearEndDate AS DATE),103) WHERE [KeyName] = 'YearEndDate' ELSE INSERT INTO [dbo].[Settings] ( [KeyName], [KeyValue] ) VALUES ( 'YearEndDate', CONVERT(VARCHAR(10), CAST(@YearEndDate AS DATE),103) ) END IF(@TabName = 'Keyhouse') BEGIN UPDATE [dbo].[Control] SET [EnableCDB] = @EnableClientDB, [UK] = @UK, [EnableDW] = @EnableDeedWills, [YearEndCompleted] = @YearEndCompleted, [EnableFM] = @EnableFileManager, [UseOutlayType] = @UseOutlayType, [PendingOutlay] = @PendingOutlay, [Indicator22] = @UseBranches, [RecInstalled] = @EnableBankRec, [Indicator18] = @BillPrinting, [Indicator19] = @UniqueMatterNumber, [Indicator23] = @TaggedBatches, [NoBar] = @OverdrawnClientAc, [Indicator20] = @IntrestCalculator, [WordPerfect] = @WordPerfect, [Indicator24] = @Indicator24, [Indicator25] = @Indicator25, [Indicator26] = @Indicator26, [Indicator27] = @Indicator27, [Indicator28] = @Indicator28, [Indicator29] = @Indicator29, [Indicator30] = @Indicator30, [DemoExpire] = @DemoExpire, [MaxNumberofMatters] = @MaxMatter, [OpSisLink] = @CaseMgrLink, [TimeCosting] = @TimeCostingInstalled, [ForceFE] = @ForceFeeEarner, [LabelPrinter] = @LabelPrinter, [FeesRepSeq] = @FeeReporting IF EXISTS ( SELECT TOP 1 1 FROM [dbo].[Settings] WHERE [KeyName] = 'CompositeBilling' ) UPDATE [dbo].[Settings] SET [KeyValue] = @CompositeBilling WHERE [KeyName] = 'CompositeBilling' ELSE INSERT INTO [dbo].[Settings] ( [KeyName], [KeyValue] ) VALUES ( 'CompositeBilling', @CompositeBilling ) END IF(@TabName = 'More') BEGIN UPDATE [dbo].[Control] SET [Solicitor] = @SolicitorCategory, [OthParty] = @OtherPartyCategory, [SupplierCategory] = @SupplierCategory, [DefaultCategory] = @SystemCategoryType, [AutoNumber] = @AutoNumberClient, [AutoAlphaClientNumbering] = @AutoAlphaNumbering, [ThirdPartyLimit] = @ThirdPartyLimit, [DatePastValidation] = @DatePastValidation, [DateFutValidation] = @DateFutureValidation, [EiConvert] = @ConversionRate, [UserPrompt1] = @PromptRef1, [UserPrompt2] = @PromptRef2, [UserPrompt3] = @PromptRef3, [NextFile] = @NextFile, [ClosedFileNo] = @ClosedFileNo, [ChequePrinting] = @ChequeType, [EnableCP] = @EnableChequePrinting IF EXISTS ( SELECT TOP 1 1 FROM [dbo].[Settings] WHERE [KeyName] = 'TimeBarred' ) UPDATE [dbo].[Settings] SET [KeyValue] = @CloseMatterTimeBarred WHERE [KeyName] = 'TimeBarred' ELSE INSERT INTO [dbo].[Settings] ( [KeyName], [KeyValue] ) VALUES ( 'TimeBarred', @CloseMatterTimeBarred ) IF EXISTS ( SELECT TOP 1 1 FROM [dbo].[Settings] WHERE [KeyName] = 'SupplierRemittance_On' ) UPDATE [dbo].[Settings] SET [KeyValue] = @SupplierRemittance WHERE [KeyName] = 'SupplierRemittance_On' ELSE INSERT INTO [dbo].[Settings] ( [KeyName], [KeyValue] ) VALUES ( 'SupplierRemittance_On', @SupplierRemittance ) IF EXISTS ( SELECT TOP 1 1 FROM [dbo].[Settings] WHERE [KeyName] = 'EFTDefaultON' ) UPDATE [dbo].[Settings] SET [KeyValue] = @EFTDefaultON WHERE [KeyName] = 'EFTDefaultON' ELSE INSERT INTO [dbo].[Settings] ( [KeyName], [KeyValue] ) VALUES ( 'EFTDefaultON', @EFTDefaultON ) IF EXISTS ( SELECT TOP 1 1 FROM [dbo].[Settings] WHERE [KeyName] = 'MatterOutlayBudgetCheckON' ) UPDATE [dbo].[Settings] SET [KeyValue] = @MatterOutlayBudgetChkON WHERE [KeyName] = 'MatterOutlayBudgetCheckON' ELSE INSERT INTO [dbo].[Settings] ( [KeyName], [KeyValue] ) VALUES ( 'MatterOutlayBudgetCheckON', @MatterOutlayBudgetChkON ) IF EXISTS ( SELECT TOP 1 1 FROM [dbo].[Settings] WHERE [KeyName] = 'CASE_LabelNo' ) UPDATE [dbo].[Settings] SET [KeyValue] = @LabelNo WHERE [KeyName] = 'CASE_LabelNo' ELSE INSERT INTO [dbo].[Settings] ( [KeyName], [KeyValue] ) VALUES ( 'CASE_LabelNo', @LabelNo ) END IF(@TabName = 'NotifyByEmail') BEGIN IF EXISTS ( SELECT TOP 1 1 FROM [dbo].[Settings] WHERE [KeyName] = 'InvoiceApprover' ) UPDATE [dbo].[Settings] SET [KeyValue] = @InvoiceApproverEmail WHERE [KeyName] = 'InvoiceApprover' ELSE INSERT INTO [dbo].[Settings] ( [KeyName], [KeyValue] ) VALUES ( 'InvoiceApprover', @InvoiceApproverEmail ) IF EXISTS ( SELECT TOP 1 1 FROM [dbo].[Settings] WHERE [KeyName] = 'ChequeApprover' ) UPDATE [dbo].[Settings] SET [KeyValue] = @ChequeApproverEmail WHERE [KeyName] = 'ChequeApprover' ELSE INSERT INTO [dbo].[Settings] ( [KeyName], [KeyValue] ) VALUES ( 'ChequeApprover', @ChequeApproverEmail ) IF EXISTS ( SELECT TOP 1 1 FROM [dbo].[Settings] WHERE [KeyName] = 'NotifyReleasedInv' ) UPDATE [dbo].[Settings] SET [KeyValue] = @NotifyReturnInvoice WHERE [KeyName] = 'NotifyReleasedInv' ELSE INSERT INTO [dbo].[Settings] ( [KeyName], [KeyValue] ) VALUES ( 'NotifyReleasedInv', @NotifyReturnInvoice ) IF EXISTS ( SELECT TOP 1 1 FROM [dbo].[Settings] WHERE [KeyName] = 'NotifyApprovedInv' ) UPDATE [dbo].[Settings] SET [KeyValue] = @NotifyApprovedInvoice WHERE [KeyName] = 'NotifyApprovedInv' ELSE INSERT INTO [dbo].[Settings] ( [KeyName], [KeyValue] ) VALUES ( 'NotifyApprovedInv', @NotifyApprovedInvoice ) IF EXISTS ( SELECT TOP 1 1 FROM [dbo].[Settings] WHERE [KeyName] = 'NotifyReleasedChq' ) UPDATE [dbo].[Settings] SET [KeyValue] = @NotifyReturnCheque WHERE [KeyName] = 'NotifyReleasedChq' ELSE INSERT INTO [dbo].[Settings] ( [KeyName], [KeyValue] ) VALUES ( 'NotifyReleasedChq', @NotifyReturnCheque ) IF EXISTS ( SELECT TOP 1 1 FROM [dbo].[Settings] WHERE [KeyName] = 'NotifyApprovedChq' ) UPDATE [dbo].[Settings] SET [KeyValue] = @NotifyApprovedCheque WHERE [KeyName] = 'NotifyApprovedChq' ELSE INSERT INTO [dbo].[Settings] ( [KeyName], [KeyValue] ) VALUES ( 'NotifyApprovedChq', @NotifyApprovedCheque ) IF EXISTS ( SELECT TOP 1 1 FROM [dbo].[Settings] WHERE [KeyName] = 'EMailServer' ) UPDATE [dbo].[Settings] SET [KeyValue] = @SMTPMailServer WHERE [KeyName] = 'EMailServer' ELSE INSERT INTO [dbo].[Settings] ( [KeyName], [KeyValue] ) VALUES ( 'EMailServer', @SMTPMailServer ) END IF(@TabName = 'MoneyLaundering') BEGIN IF EXISTS ( SELECT TOP 1 1 FROM [dbo].[Settings] WHERE [KeyName] = 'Money Laundering_MoneyLaunderingCheck' ) UPDATE [dbo].[Settings] SET [KeyValue] = @MoneyLaunderingCheck WHERE [KeyName] = 'Money Laundering_MoneyLaunderingCheck' ELSE INSERT INTO [dbo].[Settings] ( [KeyName], [KeyValue] ) VALUES ( 'Money Laundering_MoneyLaunderingCheck', @MoneyLaunderingCheck ) IF EXISTS ( SELECT TOP 1 1 FROM [dbo].[Settings] WHERE [KeyName] = 'Money Laundering_Dept' ) UPDATE [dbo].[Settings] SET [KeyValue] = @MoneyLaunderingDept WHERE [KeyName] = 'Money Laundering_Dept' ELSE INSERT INTO [dbo].[Settings] ( [KeyName], [KeyValue] ) VALUES ( 'Money Laundering_Dept', @MoneyLaunderingDept ) IF EXISTS ( SELECT TOP 1 1 FROM [dbo].[Settings] WHERE [KeyName] = 'Money Laundering_FeeEarner' ) UPDATE [dbo].[Settings] SET [KeyValue] = @MoneyLaunderingFE WHERE [KeyName] = 'Money Laundering_FeeEarner' ELSE INSERT INTO [dbo].[Settings] ( [KeyName], [KeyValue] ) VALUES ( 'Money Laundering_FeeEarner', @MoneyLaunderingFE ) IF EXISTS ( SELECT TOP 1 1 FROM [dbo].[Settings] WHERE [KeyName] = 'Money Laundering_WorkType' ) UPDATE [dbo].[Settings] SET [KeyValue] = @MoneyLaunderingWorkType WHERE [KeyName] = 'Money Laundering_WorkType' ELSE INSERT INTO [dbo].[Settings] ( [KeyName], [KeyValue] ) VALUES ( 'Money Laundering_WorkType', @MoneyLaunderingWorkType ) END SET NOCOUNT OFF END GO IF EXISTS (SELECT TOP 1 1 FROM sys.[objects] SO WHERE SO.[name] = N'KAAS_UpdateSAMUndertakingDetails' AND SO.[type] = 'P') BEGIN DROP PROCEDURE [dbo].[KAAS_UpdateSAMUndertakingDetails] END GO CREATE PROCEDURE [dbo].[KAAS_UpdateSAMUndertakingDetails] ( @Type VARCHAR(10), @Details VARCHAR(MAX), @Who VARCHAR(MAX), @GivenOrReceived VARCHAR(10), @DealingNumber VARCHAR(10), @Notes VARCHAR(MAX), @CommercialOrNonCommerical VARCHAR(10), @Status VARCHAR(50), @Date DATETIME, @Value DECIMAL, @AuthorizedByFE VARCHAR(10), @UndertakingTo VARCHAR(10), @Text1 VARCHAR(max), @ActionID INT, @IsDischarge BIT, @DiaryWarningDate DATETIME, @DischargeDate DATETIME = null, @Handler VARCHAR(10), @AddCommentLedger BIT, @Result TINYINT OUTPUT ) AS /******************************************************************************************************* * * *Used to list the matter ledger * * Stored Procedure Name: [dbo].[KAAS_UpdateSAMUndertakingDetails] * * Modification History: * * 2021-03-26 Natarajan S Created * * 03 DEC 2021 Vinodhkumar M Modified - Added add comment Ledger field * *******************************************************************************************************/ BEGIN TRY BEGIN TRANSACTION SET @Type = SUBSTRING(@Type, 1, 1) SET @GivenOrReceived = SUBSTRING(@GivenOrReceived, 1, 1) SET @CommercialOrNonCommerical = SUBSTRING(@CommercialOrNonCommerical, 1, 1) UPDATE [UTG] SET [UTG].[Type] = @Type, [UTG].[Description] = @Details, [UTG].[Who] = @Who, [UTG].[GivenOrReceived] = @GivenOrReceived, [UTG].[DealingNumber] = @DealingNumber, [UTG].[Notes] = @Notes, [UTG].[CommercialOrNon] = @CommercialOrNonCommerical, [UTG].[Status] = @Status, [UTG].[Date] = [dbo].KAAS_FNConvertDateToUTC(@Date,@Handler), [UTG].[UNDDate] = [dbo].KAAS_FNConvertDateToUTC(@Date,@Handler), [UTG].[Value] = @Value, [UTG].[UNDValue] = @Value, [UTG].[AuthorisedByFE] = @AuthorizedByFE, [UTG].[Handler] = @Handler, [UTG].[UndertakingTo] = @UndertakingTo, [UTG].[CaseContact] = @UndertakingTo, [UTG].[AddCommentLedger] = @AddCommentLedger, [UTG].[DischargeDate] = CASE @IsDischarge WHEN 1 THEN [dbo].KAAS_FNConvertDateToUTC(@DischargeDate,@Handler) ELSE NULL END FROM [dbo].[Undertakings] [UTG] WHERE [UTG].[ActionID] = @ActionID UPDATE [DIA] SET [DIA].[Date] = [dbo].KAAS_FNConvertDateToUTC(@diaryWarningDate,@Handler), [DIA].[DueDate] = [dbo].KAAS_FNConvertDateToUTC(@Date,@Handler), [DIA].[Text1] = @Text1 FROM [dbo].[diary] [DIA] WHERE [DIA].[ActionId] = @ActionID UPDATE [DEL] SET [DEL].[Date] = [dbo].KAAS_FNConvertDateToUTC(@diaryWarningDate,@Handler), [DEL].[DueDate] = [dbo].KAAS_FNConvertDateToUTC(@Date,@Handler) FROM [dbo].[DiaryDelegations] [DEL] WHERE [ActionId] = @ActionID SET @Result = 1 COMMIT TRANSACTION END TRY BEGIN CATCH ROLLBACK TRANSACTION END CATCH GO