USP_DATAFORMTEMPLATE_VIEW_SALESORDER_PAYMENTADDBUTTON

The load procedure used by the view dataform template "Order Add Payment View"

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.
@BALANCE money INOUT Balance
@CONSTITUENTID uniqueidentifier INOUT Constituent
@SALESMETHODID uniqueidentifier INOUT Sales method ID
@LOADERROR bit INOUT Error on load
@COUNTRY uniqueidentifier INOUT Country
@ADDRESSES xml INOUT Addresses
@ADDRESSID uniqueidentifier INOUT Type

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_SALESORDER_PAYMENTADDBUTTON
(
    @ID uniqueidentifier,
    @DATALOADED bit = 0 output,
    @BALANCE money = null output,
    @CONSTITUENTID uniqueidentifier = null output,
    @SALESMETHODID uniqueidentifier = null output,
    @LOADERROR bit = null output,
    @COUNTRY uniqueidentifier = null output,
    @ADDRESSES xml = null output,
    @ADDRESSID uniqueidentifier = null output
)
as
    set nocount on;

    declare @ADDRESS nvarchar(150)
    declare @CITY nvarchar(50)
    declare @STATEID uniqueidentifier
    declare @POSTCODE nvarchar(12)

    set @LOADERROR = 0;
    set @DATALOADED = 1; --no matter what


    begin try
        exec dbo.USP_ORDERPAYMENT_PRELOAD_ADD @ID, @BALANCE output, @CONSTITUENTID output, @ADDRESS output, @CITY output, @STATEID output, @POSTCODE output, @SALESMETHODID output

        exec @COUNTRY = dbo.UFN_COUNTRY_GETDEFAULT;

        set @ADDRESSES = 
            (select ID,
                    ADDRESSBLOCK,
                    CITY,
                    STATEID,
                    POSTCODE,
                    COUNTRYID
             from dbo.ADDRESS
             where CONSTITUENTID = @CONSTITUENTID
             for xml raw ('ITEM'), type, elements, root('ADDRESSES'), BINARY BASE64)

        select @ADDRESSID = ID
        from dbo.ADDRESS 
        where CONSTITUENTID = @CONSTITUENTID and ISPRIMARY = 1;

    end try
    begin catch
        set @LOADERROR = 1
        set @BALANCE = dbo.UFN_SALESORDER_GETAMOUNTDUE(@ID);
    end catch

    return 0;