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;