USP_DATAFORMTEMPLATE_ADD_NETCOMMUNITYPROCESSOR

The save procedure used by the add dataform template "NetCommunity Processor Add Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@NAME nvarchar(256) IN Transaction type
@DESCRIPTION nvarchar(1000) IN Description
@BATCHTEMPLATEID uniqueidentifier IN Batch design
@SPLITTRANSACTIONS bit IN Split transactions
@DOWNLOADSPLITS xml IN Download splits
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_NETCOMMUNITYPROCESSOR
                    (
                        @ID uniqueidentifier = null output,
                        @NAME nvarchar(256) = '',
                        @DESCRIPTION nvarchar(1000) = '',
                        @BATCHTEMPLATEID uniqueidentifier,
                        @SPLITTRANSACTIONS bit = 0,
                        @DOWNLOADSPLITS xml = null,
                        @CHANGEAGENTID uniqueidentifier = null
                    )
                    as

                    set nocount on;

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

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

                    declare    @ASSEMBLYNAME nvarchar(128);
                    declare    @CLASSNAME nvarchar(128);
                    with xmlnamespaces (default 'bb_appfx_batchtype')
                    select top 1 
                        @ASSEMBLYNAME = T.c.value('@AssemblyName','nvarchar(max)'),
                        @CLASSNAME = T.c.value('@ClassName','nvarchar(max)')
                    from 
                        dbo.BATCHTEMPLATE
                    inner join
                        dbo.BATCHTYPECATALOG on BATCHTEMPLATE.BATCHTYPECATALOGID = BATCHTYPECATALOG.ID
                    cross apply 
                        specxml.nodes('/BatchTypeSpec/NetCommunityProcessor') T(c)    
                    where 
                        BATCHTEMPLATE.ID = @BATCHTEMPLATEID;

                    if @ASSEMBLYNAME is null
                        set @ASSEMBLYNAME = '';

                    if @CLASSNAME is null
                        set @CLASSNAME = '';

                    if len(@ASSEMBLYNAME) > 4 and right(upper(@ASSEMBLYNAME),4) = '.DLL'
                        set @ASSEMBLYNAME = left(@ASSEMBLYNAME, len(@ASSEMBLYNAME) - 4);

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

                    -- If they haven't selected owners we'll download all

                    -- transactions into a single batch

                    if @DOWNLOADSPLITS is null
                        set @SPLITTRANSACTIONS = 0;

                    begin try

                        insert into dbo.NETCOMMUNITYTRANSACTIONPROCESSOR (ID, [NAME], DESCRIPTION, BATCHTEMPLATEID, ASSEMBLYNAME, CLASSNAME, SPLITTRANSACTIONS, ADDEDBYID, CHANGEDBYID)
                            values (@ID, @NAME, @DESCRIPTION, @BATCHTEMPLATEID, @ASSEMBLYNAME, @CLASSNAME, @SPLITTRANSACTIONS, @CHANGEAGENTID, @CHANGEAGENTID)

                        if @SPLITTRANSACTIONS = 1 and @DOWNLOADSPLITS is not null
                            insert into dbo.NETCOMMUNITYPROCESSORSPLIT(ID, NETCOMMUNITYTRANSACTIONPROCESSORID, OWNERID, SEQUENCE, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
                                select
                                    coalesce(ID, newid()),
                                    @ID,
                                    OWNERID,
                                    SEQUENCE,
                                    @CHANGEAGENTID,
                                    @CHANGEAGENTID,
                                    @CURRENTDATE,
                                    @CURRENTDATE
                                from dbo.UFN_BBNC_GETDOWNLOADSPLITS_FROMITEMLISTXML(@DOWNLOADSPLITS);

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

                    return 0