USP_DATAFORMTEMPLATE_ADD_COAUPDATE

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

Parameters

Parameter Parameter Type Mode Description
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@DATATUNEUPID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@NAME nvarchar(150) IN Name
@DESCRIPTION nvarchar(250) IN Description
@SITEID uniqueidentifier IN Site
@PRIMARYCONTACTNAME nvarchar(250) IN Name
@PRIMARYCONTACTEMAIL UDT_EMAILADDRESS IN Email address
@PRIMARYCONTACTPHONE nvarchar(20) IN Phone number
@ALTERNATECONTACTNAME nvarchar(250) IN Name
@ALTERNATECONTACTEMAIL UDT_EMAILADDRESS IN Email address
@ALTERNATECONTACTPHONE nvarchar(20) IN Phone number
@PRIMARYCONTACTTITLECODEID uniqueidentifier IN
@CONTACTJOBTITLE nvarchar(50) IN

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_COAUPDATE
                    (
                        @CURRENTAPPUSERID uniqueidentifier,
                        @ID uniqueidentifier = null output,
                        @DATATUNEUPID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier = null,    
                        @NAME nvarchar(150) = null,
                        @DESCRIPTION nvarchar(250) = null,
                        @SITEID uniqueidentifier = null,
                        @PRIMARYCONTACTNAME nvarchar(250) = null,
                        @PRIMARYCONTACTEMAIL dbo.UDT_EMAILADDRESS = null,
                        @PRIMARYCONTACTPHONE nvarchar(20) = null,
                        @ALTERNATECONTACTNAME nvarchar(250) = null,
                        @ALTERNATECONTACTEMAIL dbo.UDT_EMAILADDRESS = null,
                        @ALTERNATECONTACTPHONE nvarchar(20) = null,
                        @PRIMARYCONTACTTITLECODEID uniqueidentifier = null,
                        @CONTACTJOBTITLE nvarchar(50) = null
                    )
                    as
                        set nocount on;

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

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

                        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

                        begin try

                            -- Create batch for processing

                            declare @BATCHID uniqueidentifier;
                            declare @BATCHNAME nvarchar(100);
                            declare @BATCHDESCRIPTION nvarchar(250);
                            declare @COUNT int;

              select @COUNT = COUNT(ID) from dbo.BATCHTEMPLATE where BATCHTYPECATALOGID = '721C4686-8574-4456-A9AF-4DA79D94A0E6'

                            if @COUNT = 0
                                begin
                                    raiserror('BBERR_TEMPLATE_DOESNOT_EXIST',13,1)
                                    return
                                end

                            set @BATCHNAME = @NAME + ' - ' + convert(nvarchar(8), getdate(), 112) + replace(convert(nvarchar(8), getdate(), 108), ':', '');
                            set @BATCHDESCRIPTION = 'Batch created by ' + @NAME + ' AddressFinder process.';
                            exec dbo.USP_DATAFORMTEMPLATE_ADD_BATCH2 @BATCHID output, @CURRENTAPPUSERID, null, @BATCHDESCRIPTION, null, 0, 0, '07c271a9-72ef-490c-8e33-81c2c6e088f0', null, @CHANGEAGENTID;

                            /* AAW 3/15/2010: Create a default information source code table entry of "AddressFinder" and default to it: */
                            declare @INFOSOURCECODEID uniqueidentifier;

                            select @INFOSOURCECODEID = INFOSOURCECODE.[ID]
                            from dbo.INFOSOURCECODE
                            where INFOSOURCECODE.[DESCRIPTION] = N'AddressFinder';

                            if @INFOSOURCECODEID is null
                                exec dbo.USP_INFOSOURCECODE_CREATEENTRY
                                    @DESCRIPTION = N'AddressFinder',
                                    @CHANGEAGENTID = @CHANGEAGENTID,
                                    @ID = @INFOSOURCECODEID output;

                            insert into dbo.COAUPDATE
                            (ID,
                                DATATUNEUPID,
                                NAME,
                                DESCRIPTION,
                                SITEID,
                                BATCHID,
                                BATCHAPPUSERID,
                                PRIMARYCONTACTNAME,
                                PRIMARYCONTACTEMAIL,
                                PRIMARYCONTACTPHONE,
                                ALTERNATECONTACTNAME,
                                ALTERNATECONTACTEMAIL,
                                ALTERNATECONTACTPHONE,
                                INFOSOURCECODEID,
                                ADDEDBYID,
                                CHANGEDBYID,
                                DATEADDED,
                                DATECHANGED,
                                PRIMARYCONTACTTITLECODEID,
                                CONTACTJOBTITLE)
                            values
                            (@ID,
                                @DATATUNEUPID,
                                @NAME,
                                @DESCRIPTION,
                                @SITEID,
                                @BATCHID,
                                @CURRENTAPPUSERID,
                                @PRIMARYCONTACTNAME,
                                @PRIMARYCONTACTEMAIL,
                                @PRIMARYCONTACTPHONE,
                                @ALTERNATECONTACTNAME,
                                @ALTERNATECONTACTEMAIL,
                                @ALTERNATECONTACTPHONE,
                                @INFOSOURCECODEID,
                                @CHANGEAGENTID,
                                @CHANGEAGENTID,
                                @CURRENTDATE,
                                @CURRENTDATE,
                                @PRIMARYCONTACTTITLECODEID,
                                @CONTACTJOBTITLE);

                            -- Create file row

                            insert into dbo.COAUPDATEFILE
                            (ID,
                                REQUESTFILE,
                                CASSRPTFILE,
                                NCOARPTFILE)
                            values
                            (@ID,
                                null,
                                null,
                                null);

                            -- Create the sub-processes

                            declare @COAUPDATESUBMITPROCESSID uniqueidentifier;
                            declare @PROCESSNAME nvarchar(100) = left(@NAME, 100);
                            declare @COAUPDATECREATEPROCESSID uniqueidentifier;

                            set @COAUPDATESUBMITPROCESSID = newID();
                            insert into dbo.COAUPDATESUBMITPROCESS
                            (ID,COAUPDATEID,ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED, [NAME])
                            values
                            (@COAUPDATESUBMITPROCESSID,@ID,@CHANGEAGENTID,@CHANGEAGENTID,@CURRENTDATE,@CURRENTDATE, @PROCESSNAME);

                            exec dbo.USP_BUSINESSPROCESSINSTANCE_ADD @CHANGEAGENTID = @CHANGEAGENTID
                                                @BUSINESSPROCESSCATALOGID = '113412a7-daa5-4ef6-9c0d-8aaa9024e06a',
                                                @BUSINESSPROCESSPARAMETERSETID = @COAUPDATESUBMITPROCESSID
                                                @OWNERID = @CURRENTAPPUSERID;

                            insert into dbo.COAUPDATERESUBMITPROCESS
                            (ID,COAUPDATEID,ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED, [NAME])
                            values
                            (newID(),@ID,@CHANGEAGENTID,@CHANGEAGENTID,@CURRENTDATE,@CURRENTDATE, @PROCESSNAME);

                            insert into dbo.COAUPDATEGETPROCESS
                            (ID,COAUPDATEID,ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED, [NAME])
                            values
                            (newID(),@ID,@CHANGEAGENTID,@CHANGEAGENTID,@CURRENTDATE,@CURRENTDATE, @PROCESSNAME);

                            set @COAUPDATECREATEPROCESSID = newID();
                            insert into dbo.COAUPDATECREATEPROCESS
                            (ID,COAUPDATEID,ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED, [NAME])
                            values
                            (@COAUPDATECREATEPROCESSID,@ID,@CHANGEAGENTID,@CHANGEAGENTID,@CURRENTDATE,@CURRENTDATE, @PROCESSNAME);

                            exec dbo.USP_BUSINESSPROCESSINSTANCE_ADD @CHANGEAGENTID = @CHANGEAGENTID
                                                @BUSINESSPROCESSCATALOGID = '476deb56-3869-4216-9592-02ddae091f53'
                                                @BUSINESSPROCESSPARAMETERSETID = @COAUPDATECREATEPROCESSID
                                                @OWNERID = @CURRENTAPPUSERID;

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

                        return 0;