USP_DATAFORMTEMPLATE_EDITLOAD_RECEIVABLEPAYMENTAPPLICATIONS
The load procedure used by the edit dataform template "Receivable Payment Applications Edit 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. |
@TSLONG | bigint | INOUT | Output parameter indicating the TSLONG value of the record being edited. This is used to manage multi-user concurrency issues when multiple users access the same record. |
@APPLICATIONS | xml | INOUT | Applications |
@AMOUNTREMAINING | money | INOUT | Amount left to apply |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_RECEIVABLEPAYMENTAPPLICATIONS
(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@TSLONG bigint = 0 output,
@APPLICATIONS xml = null output,
@AMOUNTREMAINING money = null output
)
as
set nocount on;
set @DATALOADED = 0
set @TSLONG = 0
declare @RECEIVABLEPAYMENTLINEITEMID uniqueidentifier;
select top 1 @RECEIVABLEPAYMENTLINEITEMID = FINANCIALTRANSACTIONLINEITEM.ID
from FINANCIALTRANSACTION
inner join FINANCIALTRANSACTIONLINEITEM
on FINANCIALTRANSACTION.ID = FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID
where (FINANCIALTRANSACTION.ID = @ID) and
(FINANCIALTRANSACTIONLINEITEM.DELETED = 0) and
(FINANCIALTRANSACTIONLINEITEM.TYPECODE = 0);
select
@DATALOADED = 1,
@APPLICATIONS = dbo.UFN_RECEIVABLEPAYMENTAPPLICATIONS_TOITEMLISTXML(@RECEIVABLEPAYMENTLINEITEMID, null, 1),
@AMOUNTREMAINING = FINANCIALTRANSACTIONLINEITEM_RECEIVABLEPAYMENT.AMOUNT - sum(isnull(FINANCIALTRANSACTIONLINEITEM_APPLICATION.AMOUNT, 0))
from dbo.FINANCIALTRANSACTIONLINEITEM as FINANCIALTRANSACTIONLINEITEM_RECEIVABLEPAYMENT
left outer join dbo.FINANCIALTRANSACTIONLINEITEMAPPLICATION
on FINANCIALTRANSACTIONLINEITEMAPPLICATION.SOURCELINEITEMID = FINANCIALTRANSACTIONLINEITEM_RECEIVABLEPAYMENT.ID
left outer join dbo.FINANCIALTRANSACTIONLINEITEM as FINANCIALTRANSACTIONLINEITEM_APPLICATION
on (FINANCIALTRANSACTIONLINEITEM_APPLICATION.ID = FINANCIALTRANSACTIONLINEITEMAPPLICATION.ID) and
(FINANCIALTRANSACTIONLINEITEM_APPLICATION.DELETED = 0)
where (FINANCIALTRANSACTIONLINEITEM_RECEIVABLEPAYMENT.ID = @RECEIVABLEPAYMENTLINEITEMID)
group by FINANCIALTRANSACTIONLINEITEM_RECEIVABLEPAYMENT.AMOUNT;
select @TSLONG = max(FINANCIALTRANSACTIONLINEITEMAPPLICATION.TSLONG)
from dbo.FINANCIALTRANSACTIONLINEITEMAPPLICATION
where (FINANCIALTRANSACTIONLINEITEMAPPLICATION.SOURCELINEITEMID = @ID);
return 0;