USP_DATAFORMTEMPLATE_EDITLOAD_VENDOR1099SETTING

The load procedure used by the edit dataform template "Vendor 1099 Setting Edit Form"

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter used to load the fields defined on the form.
@VENDORID uniqueidentifier INOUT
@ISORGANIZATION bit INOUT
@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.
@VENDOR1099DISTRIBUTION xml INOUT Vendor 1099 distribution
@CHECK1099BOX9 bit INOUT Mark 1099 box 9 for direct sales of consumer products
@CHECK10992TIN bit INOUT Mark the 1099 2nd TIN notification box
@NAMEFIRSTLINEALIASTYPECODEIDORGANIZATION uniqueidentifier INOUT Name first line
@NAMEFIRSTLINEALIASTYPECODEIDINDIVIDUAL uniqueidentifier INOUT Name first line
@NAMESECONDLINEALIASTYPECODEIDORGANIZATION uniqueidentifier INOUT Name second line
@NAMESECONDLINEALIASTYPECODEIDINDIVIDUAL uniqueidentifier INOUT Name second line
@ADDRESSID uniqueidentifier INOUT Address

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_VENDOR1099SETTING(
                        @ID uniqueidentifier,
                        @VENDORID uniqueidentifier = null output,
                        @ISORGANIZATION bit = null output,
                        @DATALOADED bit = 0 output,
                        @TSLONG bigint = 0 output,
                        @VENDOR1099DISTRIBUTION xml = null output,
                        @CHECK1099BOX9 bit = null output,
                        @CHECK10992TIN bit = null output,
                        @NAMEFIRSTLINEALIASTYPECODEIDORGANIZATION uniqueidentifier = null output,
                        @NAMEFIRSTLINEALIASTYPECODEIDINDIVIDUAL uniqueidentifier = null output,
                        @NAMESECONDLINEALIASTYPECODEIDORGANIZATION uniqueidentifier = null output,
                        @NAMESECONDLINEALIASTYPECODEIDINDIVIDUAL uniqueidentifier = null output,
                        @ADDRESSID uniqueidentifier = null output
                    )
                    as

                        set nocount on;

                        -- be sure to set these, in case the select returns no rows

                        set @DATALOADED = 0
                        set @TSLONG = 0

                        if not exists (select VENDOR1099SETTING.ID from dbo.VENDOR1099SETTING where ID = @ID)
                            begin try
                                begin
                                    declare @CHANGEAGENTID uniqueidentifier
                                    if @CHANGEAGENTID is null  
                                        exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output

                                    declare @CURRENTDATE datetime
                                    set @CURRENTDATE = getdate()

                                    insert into dbo.VENDOR1099SETTING
                                        (ID, CHECK1099BOX9, CHECK10992TIN, NAMEFIRSTLINEALIASTYPECODEID, NAMESECONDLINEALIASTYPECODEID, ADDRESSID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
                                    values
                                        (@ID, 0, 0, null, null, null, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)
                                end
                            end try

                            begin catch
                                exec dbo.USP_RAISE_ERROR
                                return 1
                            end catch

                        -- 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 = VENDOR1099SETTING.TSLONG,
                            @VENDORID = @ID,    
                            @ISORGANIZATION = CONSTITUENT.ISORGANIZATION,
                            @VENDOR1099DISTRIBUTION = dbo.UFN_VENDOR_1099DISTRIBUTION_TOITEMLISTXML(@ID),
                            @CHECK1099BOX9 = CHECK1099BOX9,
                            @CHECK10992TIN = CHECK10992TIN,
                            @NAMEFIRSTLINEALIASTYPECODEIDORGANIZATION = NAMEFIRSTLINEALIASTYPECODEID,
                            @NAMEFIRSTLINEALIASTYPECODEIDINDIVIDUAL = NAMEFIRSTLINEALIASTYPECODEID,
                            @NAMESECONDLINEALIASTYPECODEIDORGANIZATION = NAMESECONDLINEALIASTYPECODEID,
                            @NAMESECONDLINEALIASTYPECODEIDINDIVIDUAL = NAMESECONDLINEALIASTYPECODEID,
                            @ADDRESSID = ADDRESSID
                        from dbo.VENDOR1099SETTING
                            left join dbo.VENDOR1099DISTRIBUTION on VENDOR1099DISTRIBUTION.VENDOR1099SETTINGID = VENDOR1099SETTING.ID
                            inner join dbo.CONSTITUENT on CONSTITUENT.ID = VENDOR1099SETTING.ID
                        where VENDOR1099SETTING.ID = @ID

                        return 0;