USP_DATAFORMTEMPLATE_EDITLOAD_CHARGEAPPLICATIONS

The load procedure used by the edit dataform template "Charge 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
@AMOUNTREMAINING money INOUT Amount left to pay

Definition

Copy

                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_CHARGEAPPLICATIONS
                    (
                        @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 @CHARGELINEITEMID uniqueidentifier;
                        select top 1 @CHARGELINEITEMID = FINANCIALTRANSACTIONLINEITEM.ID
                        from FINANCIALTRANSACTION
                            inner join FINANCIALTRANSACTIONLINEITEM
                                on FINANCIALTRANSACTION.ID = FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID
                        where (FINANCIALTRANSACTION.ID = @ID) and
                                (FINANCIALTRANSACTIONLINEITEM.DELETEDON is null) and
                                (FINANCIALTRANSACTIONLINEITEM.TYPECODE = 0);

                        select   
                            @DATALOADED = 1,
                            @APPLICATIONS = dbo.UFN_CHARGEAPPLICATIONS_TOITEMLISTXML(@CHARGELINEITEMID, null, 1),
                            @AMOUNTREMAINING = FINANCIALTRANSACTIONLINEITEM_CHARGE.TRANSACTIONAMOUNT - sum(isnull(FINANCIALTRANSACTIONLINEITEM_APPLICATION.TRANSACTIONAMOUNT, 0))
                        from dbo.FINANCIALTRANSACTIONLINEITEM as FINANCIALTRANSACTIONLINEITEM_CHARGE
                            left outer join dbo.FINANCIALTRANSACTIONLINEITEM as FINANCIALTRANSACTIONLINEITEM_APPLICATION
                                on (FINANCIALTRANSACTIONLINEITEM_APPLICATION.TARGETLINEITEMID = FINANCIALTRANSACTIONLINEITEM_CHARGE.ID) and
                                    (FINANCIALTRANSACTIONLINEITEM_APPLICATION.DELETEDON is null)
                        where (FINANCIALTRANSACTIONLINEITEM_CHARGE.ID = @CHARGELINEITEMID)
                        group by FINANCIALTRANSACTIONLINEITEM_CHARGE.TRANSACTIONAMOUNT;

                        select @TSLONG = max(FINANCIALTRANSACTIONLINEITEM_APPLICATION.TSLONG)
                        from dbo.FINANCIALTRANSACTIONLINEITEM as FINANCIALTRANSACTIONLINEITEM_APPLICATION
                        where (FINANCIALTRANSACTIONLINEITEM_APPLICATION.SOURCELINEITEMID = @ID);

                        return 0;