USP_DATAFORMTEMPLATE_EDIT_IMPORTPROCESSOPTIONS

The save procedure used by the edit dataform template "Import Process Options Edit Form".

Parameters

Parameter Parameter Type Mode Description
@IMPORTFILEPATH nvarchar(200) IN Import file path
@IMPERSONATE bit IN Impersonate
@IMPERSONATEUSERNAME nvarchar(200) IN User name
@IMPERSONATEPASSWORD nvarchar(200) IN Password
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_IMPORTPROCESSOPTIONS(@IMPORTFILEPATH nvarchar(200),
    @IMPERSONATE bit,
    @IMPERSONATEUSERNAME nvarchar(200),
    @IMPERSONATEPASSWORD nvarchar(200),
    @CHANGEAGENTID uniqueidentifier)
as
    set nocount on;

    declare @IMPERSONATEPASSWORDENCRYPTED nvarchar(max);
    declare @EXISTINGIMPERSONATEPASSWORDENCRYPTED nvarchar(max);
    declare @RECORDEXISTS bit;

    set @RECORDEXISTS = 0;

    select top(1) @EXISTINGIMPERSONATEPASSWORDENCRYPTED = IMPERSONATEPASSWORD, @RECORDEXISTS = 1 from dbo.IMPORTPROCESSOPTIONS order by DATEADDED desc;

    -- Open the symmetric key for encryption

    exec dbo.USP_GET_KEY_ACCESS;

    if @IMPERSONATE = 0
    begin
        set @IMPERSONATEUSERNAME = '';
        set @IMPERSONATEPASSWORD = '';
        set @IMPERSONATEPASSWORDENCRYPTED = EncryptByKey(Key_GUID('sym_BBInfinity'), '');
    end
    else
    begin
        --Check for the garbage password that was passed up by the load procedure, and if it's the same, don't update the password.

        if @RECORDEXISTS = 1 and @IMPERSONATEPASSWORD = 'g3(2=`-~405##@lZ91' 
            set @IMPERSONATEPASSWORDENCRYPTED = @EXISTINGIMPERSONATEPASSWORDENCRYPTED;
        else
            set @IMPERSONATEPASSWORDENCRYPTED = EncryptByKey(Key_GUID('sym_BBInfinity'), @IMPERSONATEPASSWORD);
    end;

    close symmetric key sym_BBInfinity;

    if @RECORDEXISTS = 0
    begin
        insert into dbo.IMPORTPROCESSOPTIONS (IMPORTFILEPATH,
            IMPERSONATE,
            IMPERSONATEUSERNAME,
            IMPERSONATEPASSWORD,
            ADDEDBYID,
            CHANGEDBYID,
            DATEADDED,
            DATECHANGED)
        values (@IMPORTFILEPATH,
            @IMPERSONATE,
            @IMPERSONATEUSERNAME,
            @IMPERSONATEPASSWORDENCRYPTED,
            @CHANGEAGENTID,
            @CHANGEAGENTID,
            getdate(),
            getdate());
    end
    else
    begin
        update dbo.IMPORTPROCESSOPTIONS set IMPORTFILEPATH = @IMPORTFILEPATH,
            IMPERSONATE = @IMPERSONATE,
            IMPERSONATEUSERNAME = @IMPERSONATEUSERNAME,
            IMPERSONATEPASSWORD = @IMPERSONATEPASSWORDENCRYPTED,
            CHANGEDBYID = @CHANGEAGENTID,
            DATECHANGED = getdate();
    end;