USE [FastMoneyPro_Remit] GO /****** Object: StoredProcedure [dbo].[INBOUND_PROC_POSTTXN] Script Date: 9/27/2019 1:30:13 PM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO create proc [dbo].[INBOUND_PROC_POSTTXN] @flag VARCHAR(50) = NULL ,@user VARCHAR(200) = NULL ,@trnId VARCHAR(30) = NULL ,@controlNo VARCHAR(100) = NULL ,@sCountry VARCHAR(50) = NULL ,@sAgentName VARCHAR(50) = NULL ,@senderName VARCHAR(50) = NULL ,@receiverName VARCHAR(50) = NULL ,@branchName VARCHAR(50) = NULL ,@createdBy VARCHAR(50) = NULL ,@createdDate VARCHAR(20) = NULL ,@type VARCHAR(50) = NULL ,@sortBy VARCHAR(50) = NULL ,@sortOrder VARCHAR(5) = NULL ,@pageSize INT = NULL ,@pageNumber INT = NULL ,@Msg VARCHAR(20) = NULL AS SET NOCOUNT ON; SET XACT_ABORT ON; DECLARE @controlNoEncrypted VARCHAR(20) SELECT @controlNoEncrypted = dbo.FNAEncryptString(@controlNo) BEGIN TRY CREATE TABLE #msg(errorCode INT, msg VARCHAR(100), id INT) DECLARE @sql VARCHAR(MAX) ,@oldValue VARCHAR(MAX) ,@newValue VARCHAR(MAX) ,@module VARCHAR(10) ,@tableAlias VARCHAR(100) ,@logIdentifier VARCHAR(50) ,@logParamMod VARCHAR(100) ,@logParamMain VARCHAR(100) ,@table VARCHAR(MAX) ,@select_field_list VARCHAR(MAX) ,@extra_field_list VARCHAR(MAX) ,@sql_filter VARCHAR(MAX) ,@id VARCHAR(10) ,@modType VARCHAR(6) ,@ApprovedFunctionId INT ,@tranAmount MONEY SELECT @ApprovedFunctionId = '' ,@logIdentifier = 'trnId' ,@logParamMain = 'inboiundPostTxn' ,@logParamMod = 'inboiundPostTxn' ,@module = '20' ,@tableAlias = 'Post Inbound Txn' IF @flag='s' BEGIN IF @sortBy IS NULL SET @sortBy = 'tranId' IF @sortOrder IS NULL SET @sortOrder = 'ASC' print @table --return; SET @table = '( select tranId = id ,controlNoencript =main.controlNo ,controlNo= '''' + dbo.FNADecryptString(main.controlNo ) + '''' ,PAGENTName ,receiverName ,senderName ,hasChanged = ''N'' ,sCountry ,sAgentName ,createdBy ,createdDate ,SettlementAmt ,pAmt ,providername=''INBOUND API'' FROM INBOUND_REMIT_TRAN (NOLOCK) MAIN Where tranStatus =''PAYMENT'' ) x' --PRINT(@table) SET @sql_filter = '' IF @sAgentName IS NOT NULL SET @sql_filter = @sql_filter + ' AND sAgentName like'''+'%'+ @sAgentName+'%' +'''' IF @controlNo IS NOT NULL SET @sql_filter = @sql_filter + ' AND controlNoencript = ''' +dbo.encryptDb(@controlNo) + '''' IF @trnId IS NOT NULL SET @sql_filter = @sql_filter + ' AND tranId = ''' + @trnId + '''' IF @sCountry IS NOT NULL SET @sql_filter = @sql_filter + ' AND sCountry = ''' + @sCountry+'''' IF @senderName IS NOT NULL SET @sql_filter = @sql_filter + ' AND senderName like '''+'%'+ @senderName+'%'+ '''' IF @receiverName IS NOT NULL SET @sql_filter = @sql_filter + ' AND receiverName like ''' +'%' + @receiverName +'%'+ '''' SET @select_field_list =' tranId ,controlNo ,PAGENTName ,receiverName ,senderName ,hasChanged ,sCountry ,sAgentName ,createdBy ,createdDate ,pAmt ,providername ' PRINT (@table) EXEC dbo.proc_paging @table ,@sql_filter ,@select_field_list ,@extra_field_list ,@sortBy ,@sortOrder ,@pageSize ,@pageNumber END ELSE IF @flag='Post' BEGIN IF EXISTS ( SELECT 1 FROM dbo.INBOUND_REMIT_TRAN (NOLOCK) WHERE controlNo=@controlNoEncrypted AND tranStatus='Payment') BEGIN UPDATE INBOUND_REMIT_TRAN SET tranStatus ='POST' WHERE controlNo =@controlNoEncrypted AND tranStatus='Payment' EXEC proc_errorHandler 0, 'Transaction has been successfully Post', @trnId END ELSE BEGIN EXEC proc_errorHandler 1, 'Only Payment transaction can be post', @trnId RETURN END END END TRY BEGIN CATCH IF @@TRANCOUNT > 0 ROLLBACK TRANSACTION DECLARE @errorMessage VARCHAR(MAX) SET @errorMessage = ERROR_MESSAGE() EXEC proc_errorHandler 1, @errorMessage, @trnId END CATCH GO