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;