USP_DATAFORMTEMPLATE_EDIT_GENERATEBATCHPROCESS_2

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@CURRENTAPPUSERID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN
@NAME nvarchar(100) IN
@IDSETREGISTERID uniqueidentifier IN
@BATCHTEMPLATEID uniqueidentifier IN
@BATCHNUMBER nvarchar(100) IN
@OVERRIDEBATCHNUMBER bit IN
@DESCRIPTION nvarchar(1000) IN
@OWNERID uniqueidentifier IN
@AUTOSAVEONROWCHANGE bit IN
@PROJECTEDNUMBEROFRECORDS int IN
@PROJECTEDTOTALAMOUNT money IN
@INCLUDEPOSTEDTRANSACTIONS bit IN
@ADJUSTMENTDATE datetime IN
@ADJUSTMENTPOSTDATE datetime IN
@ADJUSTMENTPOSTSTATUSCODE tinyint IN
@ADJUSTMENTREASONCODEID uniqueidentifier IN
@ADJUSTMENTREASON nvarchar(300) IN
@OVERWRITE bit IN
@FILTERBY nvarchar(255) IN
@OLDGUIDVALUE uniqueidentifier IN
@NEWGUIDVALUE uniqueidentifier IN
@OLDDATEVALUE datetime IN
@NEWDATEVALUE datetime IN
@SITEID uniqueidentifier IN

Definition

Copy


create procedure dbo.USP_DATAFORMTEMPLATE_EDIT_GENERATEBATCHPROCESS_2
(
    @ID uniqueidentifier,
    @CURRENTAPPUSERID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier = null,
    @NAME nvarchar(100),
    @IDSETREGISTERID uniqueidentifier,
    @BATCHTEMPLATEID uniqueidentifier,
    @BATCHNUMBER nvarchar(100),
    @OVERRIDEBATCHNUMBER bit,
    @DESCRIPTION nvarchar(1000),
    @OWNERID uniqueidentifier,
    @AUTOSAVEONROWCHANGE bit,
    @PROJECTEDNUMBEROFRECORDS int,
    @PROJECTEDTOTALAMOUNT money,
    @INCLUDEPOSTEDTRANSACTIONS bit,
    @ADJUSTMENTDATE datetime,
    @ADJUSTMENTPOSTDATE datetime,
    @ADJUSTMENTPOSTSTATUSCODE tinyint,
    @ADJUSTMENTREASONCODEID uniqueidentifier,
    @ADJUSTMENTREASON nvarchar(300),
    @OVERWRITE bit,
    @FILTERBY nvarchar(255),
    @OLDGUIDVALUE uniqueidentifier,
    @NEWGUIDVALUE uniqueidentifier,
    @OLDDATEVALUE datetime,
    @NEWDATEVALUE datetime,
    @SITEID uniqueidentifier
)
as

set nocount on;

if @ID is null
        set @ID = newid();

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

declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();

declare @USENUMBERINGSCHEME bit;
declare @BATCHNUMBERINGSCHEMEID uniqueidentifier;
declare @APPUSERID uniqueidentifier;
declare @BATCHWORKFLOWSTATEID uniqueidentifier;

if (@OVERRIDEBATCHNUMBER = 0 or @BATCHNUMBER is null or len(@BATCHNUMBER) = 0)
    set @USENUMBERINGSCHEME = 1;

if (@USENUMBERINGSCHEME = 1)
begin
    select @BATCHNUMBERINGSCHEMEID = BATCHNUMBERINGSCHEMEID
    from dbo.BATCHTEMPLATE
    where ID = @BATCHTEMPLATEID

    if @BATCHNUMBERINGSCHEMEID is null
        raiserror('ERR_NUMBERINGSCHEME_NOTDEFINED', 13, 1);
end
else
begin
    if dbo.UFN_SECURITY_APPUSER_GRANTED_CHANGEBATCHNUMBER(@CURRENTAPPUSERID, @BATCHTEMPLATEID) = 0
        raiserror('ERR_CANNOTCUSTOMIZE_NUMBER', 13, 1);

    if (select count(1) from dbo.BATCH where BATCHNUMBER = @BATCHNUMBER and BATCHTEMPLATEID = @BATCHTEMPLATEID) > 0
        raiserror('ERR_DUPLICATE_NUMBER', 13, 1);
end

if @OWNERID is null
    set @APPUSERID = @CURRENTAPPUSERID;
else
    set @APPUSERID = @OWNERID;

select @BATCHWORKFLOWSTATEID = BATCHWORKFLOWSTATE.ID 
from dbo.BATCHTEMPLATE 
inner join dbo.BATCHWORKFLOW on BATCHTEMPLATE.BATCHWORKFLOWID = BATCHWORKFLOW.ID
inner join dbo.BATCHWORKFLOWSTATE on BATCHWORKFLOW.ID = BATCHWORKFLOWSTATE.BATCHWORKFLOWID
where BATCHTEMPLATE.ID = @BATCHTEMPLATEID
and ISINITIALSTATE = 1;

if @BATCHWORKFLOWSTATEID is null
    raiserror('ERR_INVALIDWORKFLOW_DEFINED', 13, 1);

begin try
    if (@SITEID is not null
        begin
        if dbo.UFN_SITEALLOWEDFORUSER(@CURRENTAPPUSERID, @SITEID) = 0 
            begin
            raiserror ('ERR_SITE_NOACCESS',13,1);
            return 1;
            end
        end

    update dbo.GENERATEBATCHPROCESS set 
        ID = @ID,
        NAME = @NAME,
        IDSETREGISTERID = @IDSETREGISTERID,
        BATCHTEMPLATEID = @BATCHTEMPLATEID,
        BATCHNUMBER = @BATCHNUMBER,
        OVERRIDEBATCHNUMBER = @OVERRIDEBATCHNUMBER,
        DESCRIPTION = @DESCRIPTION,
        APPUSERID = @APPUSERID,
        AUTOSAVEONROWCHANGE = @AUTOSAVEONROWCHANGE,
        PROJECTEDNUMBEROFRECORDS = @PROJECTEDNUMBEROFRECORDS,
        PROJECTEDTOTALAMOUNT = @PROJECTEDTOTALAMOUNT,
        INCLUDEPOSTEDTRANSACTIONS = @INCLUDEPOSTEDTRANSACTIONS,
        ADJUSTMENTDATE = @ADJUSTMENTDATE,
        ADJUSTMENTPOSTDATE = @ADJUSTMENTPOSTDATE,
        ADJUSTMENTPOSTSTATUSCODE = @ADJUSTMENTPOSTSTATUSCODE,
        ADJUSTMENTREASONCODEID = @ADJUSTMENTREASONCODEID,
        ADJUSTMENTREASON = @ADJUSTMENTREASON,
        OVERWRITE = @OVERWRITE,
        CHANGEDBYID = @CHANGEAGENTID,
        DATECHANGED = @CURRENTDATE
    where ID = @ID

 update dbo.BUSINESSPROCESSINSTANCE set 
        SITEID = @SITEID,
        CHANGEDBYID = @CHANGEAGENTID,
        DATECHANGED = @CURRENTDATE
        where 
            BUSINESSPROCESSINSTANCE.BUSINESSPROCESSPARAMETERSETID = @ID
            and BUSINESSPROCESSINSTANCE.BUSINESSPROCESSCATALOGID = 'b226b0a0-043d-47bf-9dc4-6594ba5bbcbd'
            and (BUSINESSPROCESSINSTANCE.SITEID <> @SITEID 
            or BUSINESSPROCESSINSTANCE.SITEID is null and @SITEID is not null 
            or BUSINESSPROCESSINSTANCE.SITEID is not null and @SITEID is null);



    delete from dbo.GENERATEBATCHPROCESSOVERWRITE
    where GENERATEBATCHPROCESSID = @ID

    if @OVERWRITE = 1
    begin
        insert into dbo.GENERATEBATCHPROCESSOVERWRITE
             (GENERATEBATCHPROCESSID, FIELDNAME, OLDGUIDVALUE, NEWGUIDVALUE, OLDDATEVALUE, NEWDATEVALUE, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
         values
             (@ID, @FILTERBY, @OLDGUIDVALUE, @NEWGUIDVALUE, @OLDDATEVALUE, @NEWDATEVALUE, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)
    end
end try

begin catch
        exec dbo.USP_RAISE_ERROR
        return 1
end catch

return 0