USP_DATAFORMTEMPLATE_EDIT_VENDOR_ORG

The save procedure used by the edit dataform template "Vendor Organization 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.
@ORGNAME nvarchar(100) IN Organization name
@INDUSTRYCODEID uniqueidentifier IN Industry
@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_ORG
(
    @ID uniqueidentifier
    ,@CHANGEAGENTID uniqueidentifier = null

  ,@ORGNAME nvarchar(100)
    ,@INDUSTRYCODEID uniqueidentifier
  ,@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;
declare @KEYNAME nvarchar(100);
declare @KEYNAMEPREFIX nvarchar(50);

begin try

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

  set @CURRENTDATE = getdate();

  exec dbo.USP_PARSE_ORGANIZATION_NAME @ORGNAME, @KEYNAME output, @KEYNAMEPREFIX output;

    if @PICTURECHANGED = 1
        update 
            dbo.CONSTITUENT 
        set
            KEYNAME = @KEYNAME
            ,KEYNAMEPREFIX = @KEYNAMEPREFIX
            ,WEBADDRESS = @WEBADDRESS
            ,PICTURETHUMBNAIL = @PICTURETHUMBNAIL
            ,PICTURE = @PICTURE
            -- Standard stuff
            ,CHANGEDBYID = @CHANGEAGENTID
            ,DATECHANGED = @CURRENTDATE
        where ID = @ID;
  else
        update 
            dbo.CONSTITUENT 
        set
            KEYNAME = @KEYNAME
            ,KEYNAMEPREFIX = @KEYNAMEPREFIX
            ,WEBADDRESS = @WEBADDRESS
            -- Standard stuff
            ,CHANGEDBYID = @CHANGEAGENTID
            ,DATECHANGED = @CURRENTDATE
        where ID = @ID;

  update 
    dbo.ORGANIZATIONDATA 
  set 
      INDUSTRYCODEID = @INDUSTRYCODEID
        -- Standard stuff
        ,CHANGEDBYID = @CHANGEAGENTID
        ,DATECHANGED = @CURRENTDATE
    where 
    ID = @ID;

  if @@ROWCOUNT = 0
    insert into dbo.ORGANIZATIONDATA
    (
      ID,
      INDUSTRYCODEID,
      ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED
    )
    values
    (
      @ID,
      @INDUSTRYCODEID,
      @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE
    );

    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;