USP_DATAFORMTEMPLATE_VIEW_DISBURSEMENTPROCESSHEADER
The load procedure used by the view dataform template "Disbursement Process Summary Data Form"
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | The input ID parameter used to load the fields defined on the form. |
@DATALOADED | bit | INOUT | Output parameter indicating whether or not data was actually loaded. |
@DESCRIPTION | nvarchar(255) | INOUT | Description |
@BANKACCOUNT | nvarchar(100) | INOUT | Bank account |
@STARTEDBY | nvarchar(256) | INOUT | Started by |
@STARTEDON | datetime | INOUT | Started on |
@TOTALDISBURSEMENTS | int | INOUT | Number of disbursements |
@TOTALVOIDEDDISBURSEMENTS | int | INOUT | Number of voided disbursements |
@TOTALPURGEDDISBURSEMENTS | int | INOUT | Number of voided disbursements |
@TOTALAMOUNT | money | INOUT | Total amount |
@TOTALVOIDEDAMOUNT | money | INOUT | Total voided amount |
@TOTALPURGEDAMOUNT | money | INOUT | Total voided amount |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_DISBURSEMENTPROCESSHEADER
(
@ID uniqueidentifier
,@DATALOADED bit = 0 output
,@DESCRIPTION nvarchar(255) = null output
,@BANKACCOUNT nvarchar(100) = null output
,@STARTEDBY nvarchar(256) = null output
,@STARTEDON datetime = null output
,@TOTALDISBURSEMENTS integer = null output
,@TOTALVOIDEDDISBURSEMENTS integer = null output
,@TOTALPURGEDDISBURSEMENTS integer = null output
,@TOTALAMOUNT money = null output
,@TOTALVOIDEDAMOUNT money = null output
,@TOTALPURGEDAMOUNT money = null output
)
as
set nocount on;
set @DATALOADED = 0;
declare @STATUS tinyint;
select @DATALOADED = 1
,@DESCRIPTION = DP.DESCRIPTION
,@BANKACCOUNT = BA.ACCOUNTNAME
,@STARTEDBY = A.USERNAME
,@STARTEDON = DP.DATEADDED
,@STATUS = DP.STATUSCODE
from dbo.DISBURSEMENTPROCESS as DP
inner join dbo.BANKACCOUNT as BA on DP.BANKACCOUNTID = BA.ID
inner join dbo.CHANGEAGENT as A on DP.ADDEDBYID = A.ID
where
DP.ID = @ID;
select @TOTALDISBURSEMENTS = COUNT(FT.ID)
,@TOTALVOIDEDDISBURSEMENTS = COUNT(CASE WHEN BAT.STATUSCODE = 4 AND BAT.DELETED = 0 THEN BAT.ID ELSE NULL END)
,@TOTALPURGEDDISBURSEMENTS = COUNT(CASE WHEN BAT.STATUSCODE = 4 AND BAT.DELETED = 1 THEN BAT.ID ELSE NULL END)
,@TOTALAMOUNT = SUM(FT.TRANSACTIONAMOUNT)
,@TOTALVOIDEDAMOUNT = SUM(CASE WHEN BAT.STATUSCODE = 4 AND BAT.DELETED = 0 THEN FT.TRANSACTIONAMOUNT ELSE 0 END)
,@TOTALPURGEDAMOUNT = SUM(CASE WHEN BAT.STATUSCODE = 4 AND BAT.DELETED = 1 THEN FT.TRANSACTIONAMOUNT ELSE 0 END)
from dbo.FINANCIALTRANSACTION FT
left outer join dbo.DISBURSEMENTPROCESSDISBURSEMENT DPD on DPD.ID = FT.ID and DPD.DISBURSEMENTPROCESSID = @ID
left outer join dbo.BANKACCOUNTTRANSACTION BAT on BAT.ID = DPD.ID
inner join dbo.DISBURSEMENTPROCESS DP on DP.ID = DPD.DISBURSEMENTPROCESSID
where DP.ID = @ID
return 0;