USP_DATAFORMTEMPLATE_EDIT_VENDOR_IND

The save procedure used by the edit dataform template "Vendor Individual Edit Data Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter indicating the ID of the record being edited.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@LASTNAME nvarchar(100) IN Last name
@FIRSTNAME nvarchar(50) IN First name
@MIDDLENAME nvarchar(50) IN Middle name
@TITLECODEID uniqueidentifier IN Title
@SUFFIXCODEID uniqueidentifier IN Suffix
@INDUSTRYCODEID uniqueidentifier IN Industry
@JOBTITLE nvarchar(100) IN Job title
@WEBADDRESS UDT_WEBADDRESS IN Website
@CUSTOMERNUMBER nvarchar(20) IN Customer number
@PAYMENTTERMID uniqueidentifier IN Payment terms
@PAYMENTMETHODCODE tinyint IN Payment method
@PAYMENTBANKACCOUNTID uniqueidentifier IN Payment bank account
@INCLUDEIN1099 bit IN Include in 1099 reporting
@PICTURE varbinary IN Image
@PICTURETHUMBNAIL varbinary IN Image thumbnail
@PICTURECHANGED bit IN Picture changed

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_VENDOR_IND
(
    @ID uniqueidentifier
    ,@CHANGEAGENTID uniqueidentifier = null

  ,@LASTNAME nvarchar(100)
  ,@FIRSTNAME nvarchar(50)
  ,@MIDDLENAME nvarchar(50)
  ,@TITLECODEID uniqueidentifier
  ,@SUFFIXCODEID uniqueidentifier
    ,@INDUSTRYCODEID uniqueidentifier
  ,@JOBTITLE nvarchar(100)
  ,@WEBADDRESS dbo.UDT_WEBADDRESS

  ,@CUSTOMERNUMBER nvarchar(20)
  ,@PAYMENTTERMID uniqueidentifier
  ,@PAYMENTMETHODCODE tinyint
  ,@PAYMENTBANKACCOUNTID uniqueidentifier
  ,@INCLUDEIN1099 bit
    ,@PICTURE varbinary(max)
    ,@PICTURETHUMBNAIL varbinary(max)
    ,@PICTURECHANGED bit
)
as

set nocount on;

declare @CURRENTDATE datetime;

begin try

  if @CHANGEAGENTID is null  
      exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

  set @CURRENTDATE = getdate();

  if @PICTURECHANGED = 1
        update 
            dbo.CONSTITUENT 
        set
            KEYNAME = @LASTNAME
            ,FIRSTNAME = @FIRSTNAME
          ,MIDDLENAME = @MIDDLENAME
            ,TITLECODEID = @TITLECODEID
            ,SUFFIXCODEID = @SUFFIXCODEID
            ,WEBADDRESS = @WEBADDRESS
            ,PICTURETHUMBNAIL = @PICTURETHUMBNAIL
            ,PICTURE = @PICTURE
            -- Standard stuff

            ,CHANGEDBYID = @CHANGEAGENTID
            ,DATECHANGED = @CURRENTDATE
        where ID = @ID;
    else
        update 
            dbo.CONSTITUENT 
        set
            KEYNAME = @LASTNAME
            ,FIRSTNAME = @FIRSTNAME
          ,MIDDLENAME = @MIDDLENAME
            ,TITLECODEID = @TITLECODEID
            ,SUFFIXCODEID = @SUFFIXCODEID
            ,WEBADDRESS = @WEBADDRESS
            -- Standard stuff

            ,CHANGEDBYID = @CHANGEAGENTID
            ,DATECHANGED = @CURRENTDATE
        where ID = @ID;

  if len(@JOBTITLE) > 0 or @INDUSTRYCODEID is not null
    begin
        update 
      dbo.CONSTITUENTJOBINFO
        set 
      JOBTITLE = @JOBTITLE
      ,INDUSTRYCODEID = @INDUSTRYCODEID
            -- Standard stuff

            ,DATECHANGED = @CURRENTDATE
            ,CHANGEDBYID = @CHANGEAGENTID
        where ID = @ID;

        --insert row

        if @@ROWCOUNT = 0 
            insert into dbo.CONSTITUENTJOBINFO 
      (
        ID
        ,JOBTITLE
        ,INDUSTRYCODEID
                -- Standard stuff

        ,ADDEDBYID
        ,CHANGEDBYID
        ,DATEADDED
        ,DATECHANGED
      )
            values 
      (
        @ID
        ,coalesce(@JOBTITLE, '')
        ,@INDUSTRYCODEID
                -- Standard stuff

        ,@CHANGEAGENTID
        ,@CHANGEAGENTID
        ,@CURRENTDATE
        ,@CURRENTDATE
      );
    end
    else
        exec dbo.USP_CONSTITUENTJOBINFO_DELETEBYID_WITHCHANGEAGENTID @ID, @CHANGEAGENTID;

    update 
    dbo.VENDOR 
  set
    CUSTOMERNUMBER = @CUSTOMERNUMBER
    ,PAYMENTTERMID = @PAYMENTTERMID
    ,PAYMENTMETHODCODE = @PAYMENTMETHODCODE
    ,PAYMENTBANKACCOUNTID = @PAYMENTBANKACCOUNTID
    ,INCLUDEIN1099 = @INCLUDEIN1099
        -- Standard stuff

    ,CHANGEDBYID = @CHANGEAGENTID
        ,DATECHANGED = @CURRENTDATE
    where ID = @ID;

  if @INCLUDEIN1099 = 1
  begin
    if not EXISTS(SELECT ID FROM dbo.VENDOR1099SETTING where ID = @ID)
      insert into dbo.VENDOR1099SETTING
      (
        ID
        ,CHECK1099BOX9
        ,CHECK10992TIN
                -- Standard stuff

        ,ADDEDBYID
        ,CHANGEDBYID
        ,DATEADDED
        ,DATECHANGED
      )
      values
      (
        @ID
        ,0
        ,0
                -- Standard stuff

        ,@CHANGEAGENTID
        ,@CHANGEAGENTID
        ,@CURRENTDATE
        ,@CURRENTDATE
      );
  end
end try
begin catch
    exec dbo.USP_RAISE_ERROR;
    return 1;
end catch

return 0;