USP_DATAFORMTEMPLATE_EDITLOAD_INVOICELINEITEMS

The load procedure used by the edit dataform template "Invoice Line Item 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.
@INVOICEAMOUNT money INOUT Invoice amount
@LINEITEMS xml INOUT Line items
@DESCRIPTION nvarchar(100) INOUT Description

Definition

Copy

CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_INVOICELINEITEMS(
  @ID uniqueidentifier
  ,@DATALOADED bit = 0 output
  ,@TSLONG bigint = 0 output
    ,@INVOICEAMOUNT money = null output
    ,@LINEITEMS xml = null output
    ,@DESCRIPTION nvarchar(100) = null output
)
as

    set nocount on;

    -- be sure to set these, in case the select returns no rows
    set @DATALOADED = 0
    set @TSLONG = 0

    -- populate the output parameters, which correspond to fields on the form.  Note that
    -- we set @DATALOADED = 1 to indicate that the load was successful.  Otherwise, the system
    -- will display a "no data loaded" message.  Also note that we fetch the TSLONG so that concurrency
    -- can be considered.
    select
        @DATALOADED = 1,
        @TSLONG = FINANCIALTRANSACTION.TSLONG,
        @INVOICEAMOUNT = FINANCIALTRANSACTION.TRANSACTIONAMOUNT,
        @LINEITEMS = dbo.UFN_FINANCIALTRANSACTION_LINEITEMS_TOITEMLISTXML(@ID),
        @DESCRIPTION = FINANCIALTRANSACTION.DESCRIPTION
    from dbo.FINANCIALTRANSACTIONLINEITEM
    inner join dbo.FINANCIALTRANSACTION on FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID = FINANCIALTRANSACTION.ID
    where FINANCIALTRANSACTION.ID = @ID;

    return 0;