USP_DATAFORMTEMPLATE_EDIT_COMMITMULTIPLEBATCHES2PROCESS_2

The save procedure used by the edit dataform template "Commit Multiple Batches Edit Form 2".

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.
@NAME nvarchar(100) IN Name
@DESCRIPTION nvarchar(1000) IN Description
@COMMITEDIT tinyint IN Commit
@SELECTIONID uniqueidentifier IN Selection
@CREATEOUTPUTSELECTION bit IN Create output selections
@CREATEEXCEPTIONBATCHES bit IN Create exception batches
@PURGEBATCHES bit IN Delete batches after commit
@CREATEBATCHCONTROLREPORTS bit IN Create control reports
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@SITEID uniqueidentifier IN Site

Definition

Copy

CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_COMMITMULTIPLEBATCHES2PROCESS_2 (
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@NAME nvarchar(100),
@DESCRIPTION nvarchar(1000),
@COMMITEDIT tinyint,
@SELECTIONID uniqueidentifier,
@CREATEOUTPUTSELECTION bit,
@CREATEEXCEPTIONBATCHES bit,
@PURGEBATCHES bit,
@CREATEBATCHCONTROLREPORTS bit,
@CURRENTAPPUSERID uniqueidentifier,
@SITEID uniqueidentifier
)
as
begin
    set nocount on;

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

    declare @BUSINESSPROCESSCATALOGID uniqueidentifier = '8bda5883-5fc0-4b1e-b88a-b6cba975f515';

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

        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.BATCHESCOMMITPROCESS set
            BATCHESCOMMITPROCESS.NAME = @NAME,
            BATCHESCOMMITPROCESS.DESCRIPTION = @DESCRIPTION,
            BATCHESCOMMITPROCESS.SELECTIONID = @SELECTIONID,
            BATCHESCOMMITPROCESS.CREATEOUTPUTSELECTION = @CREATEOUTPUTSELECTION,
            BATCHESCOMMITPROCESS.CREATEEXCEPTIONBATCHES = @CREATEEXCEPTIONBATCHES,
            BATCHESCOMMITPROCESS.PURGEBATCHES = @PURGEBATCHES,
            BATCHESCOMMITPROCESS.CREATEBATCHCONTROLREPORTS = @CREATEBATCHCONTROLREPORTS,
      BATCHESCOMMITPROCESS.DATECHANGED = @CURRENTDATE,   
      BATCHESCOMMITPROCESS.CHANGEDBYID = @CHANGEAGENTID
        where BATCHESCOMMITPROCESS.ID = @ID;

        if exists(select ID from dbo.BUSINESSPROCESSINSTANCE where BUSINESSPROCESSPARAMETERSETID = @ID and BUSINESSPROCESSCATALOGID = @BUSINESSPROCESSCATALOGID)
        begin
            update dbo.BUSINESSPROCESSINSTANCE 
                set SITEID = @SITEID,
                    CHANGEDBYID = @CHANGEAGENTID,
                    DATECHANGED = @CURRENTDATE
            where BUSINESSPROCESSINSTANCE.BUSINESSPROCESSPARAMETERSETID = @ID
                and BUSINESSPROCESSINSTANCE.BUSINESSPROCESSCATALOGID = @BUSINESSPROCESSCATALOGID
                and (BUSINESSPROCESSINSTANCE.SITEID <> @SITEID 
                  or BUSINESSPROCESSINSTANCE.SITEID is null and @SITEID is not null 
                  or BUSINESSPROCESSINSTANCE.SITEID is not null and @SITEID is null);
        end
        else
        begin
            exec dbo.USP_BUSINESSPROCESSINSTANCE_ADD @CHANGEAGENTID = @CHANGEAGENTID
                    @BUSINESSPROCESSCATALOGID = @BUSINESSPROCESSCATALOGID
                    @BUSINESSPROCESSPARAMETERSETID = @ID
                    @OWNERID = @CURRENTAPPUSERID, @SITEID = @SITEID;
        end

    end try
    begin catch
        exec dbo.USP_RAISE_ERROR;
        return 1;
    end catch
end;
return 0;