USP_DATAFORMTEMPLATE_EDIT_PROSPECTSEGMENTATION_LOAD

The load procedure used by the edit dataform template "Prospect Segmentation Edit Form"

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter used to load the fields defined on the form.
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@DATALOADED bit INOUT Output parameter indicating whether or not data was actually loaded.
@TSLONG bigint INOUT Output parameter indicating the TSLONG value of the record being edited. This is used to manage multi-user concurrency issues when multiple users access the same record.
@NAME nvarchar(100) INOUT Name
@DESCRIPTION nvarchar(255) INOUT Description
@OTHERSCANMODIFY bit INOUT Others can modify
@RESEARCHGROUPID uniqueidentifier INOUT Research group
@IDSETREGISTERID uniqueidentifier INOUT Selection
@RECORDTYPEID uniqueidentifier INOUT
@PRIMARYVARIABLE tinyint INOUT Select score/rating
@SECONDARYVARIABLE1 tinyint INOUT Select score/rating
@SECONDARYVARIABLE2 tinyint INOUT Secondary variable 2
@PRIMARYSECTIONS xml INOUT
@SECONDARYSECTIONS1 xml INOUT
@SECONDARYSECTIONS2 xml INOUT

Definition

Copy

                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_PROSPECTSEGMENTATION_LOAD (
                        @ID uniqueidentifier,
                        @CURRENTAPPUSERID uniqueidentifier,
                        @DATALOADED bit = 0 output,
                        @TSLONG bigint = 0 output,
                        @NAME nvarchar(100) = null output,
                        @DESCRIPTION nvarchar(255) = null output,
                        @OTHERSCANMODIFY bit = null output,
                        @RESEARCHGROUPID uniqueidentifier = null output,
                    @IDSETREGISTERID uniqueidentifier = null output,
                        @RECORDTYPEID uniqueidentifier = null output,
                        @PRIMARYVARIABLE tinyint = null output,
                        @SECONDARYVARIABLE1 tinyint = null output,
                        @SECONDARYVARIABLE2 tinyint = null output,
                        @PRIMARYSECTIONS xml = null output,
                        @SECONDARYSECTIONS1 xml = null output,
                        @SECONDARYSECTIONS2 xml = null output    

                    ) as
                        set nocount on;

                        set @DATALOADED = 0;

                        select
                            @RECORDTYPEID = ID
                        from
                            dbo.RECORDTYPE
                        where
                            upper(NAME) = 'CONSTITUENT';

            declare @PRIMARYSECTIONSXML xml;
            declare @SECONDARYSECTIONSXML xml;

                        select
                            @DATALOADED =                          1,
                            @NAME =                                    PROSPECTSEGMENTATION.NAME,
                            @DESCRIPTION =                      PROSPECTSEGMENTATION.DESCRIPTION,
                            @TSLONG =                                PROSPECTSEGMENTATION.TSLONG,
                          @OTHERSCANMODIFY =                  PROSPECTSEGMENTATION.OTHERSCANMODIFY,
                            @RESEARCHGROUPID =                  PROSPECTSEGMENTATION.RESEARCHGROUPID,
                            @IDSETREGISTERID =                  PROSPECTSEGMENTATION.IDSETREGISTERID,
                            @PRIMARYVARIABLE =                  PRIMARYVARIABLE.TYPECODE,            
                            @SECONDARYVARIABLE1 =              SECONDARYVARIABLE.TYPECODE,
                            @SECONDARYVARIABLE2    =              SECONDARYVARIABLE.TYPE2CODE,
                  @PRIMARYSECTIONSXML =                dbo.UFN_PROSPECTSEGMENTATION_SECTIONS_PRIMARY_TOITEMLISTXML(PRIMARYVARIABLE.ID),
                          @SECONDARYSECTIONSXML =         dbo.UFN_PROSPECTSEGMENTATION_SECTIONS_SECONDARY_TOITEMLISTXML(SECONDARYVARIABLE.ID)   

                        from
                            dbo.PROSPECTSEGMENTATION 

                        left join dbo.PROSPECTSEGMENTATIONVARIABLE PRIMARYVARIABLE on
                            PRIMARYVARIABLE.PROSPECTSEGMENTATIONID = PROSPECTSEGMENTATION.ID and
              PRIMARYVARIABLE.ISPRIMARY = 1

            left join dbo.PROSPECTSEGMENTATIONVARIABLE SECONDARYVARIABLE on
                            SECONDARYVARIABLE.PROSPECTSEGMENTATIONID = PROSPECTSEGMENTATION.ID and
              SECONDARYVARIABLE.ISPRIMARY = 0

            where PROSPECTSEGMENTATION.ID = @ID


                        set @PRIMARYSECTIONS =
            (select
                            T.c.value('(ID)[1]','uniqueidentifier') AS 'ID',
                            T.c.value('(SEQUENCE)[1]','int') AS 'SEQUENCE',
                            T.c.value('(LABEL)[1]','nvarchar(20)') AS 'LABEL',
                            nullif(T.c.value('(RANGELOW)[1]','int'),-1) AS 'RANGELOW',
                            nullif(T.c.value('(RANGEHIGH)[1]','int'), -1) AS 'RANGEHIGH',
                            T.c.value('(ESTIMATEDWEALTHLOWID)[1]','uniqueidentifier') AS 'ESTIMATEDWEALTHLOWID',
                            T.c.value('(ESTIMATEDWEALTHHIGHID)[1]','uniqueidentifier') AS 'ESTIMATEDWEALTHHIGHID',                                        
                            T.c.value('(MAJORGIVINGCAPACITYLOWID)[1]','uniqueidentifier') AS 'MAJORGIVINGCAPACITYLOWID',
                            T.c.value('(MAJORGIVINGCAPACITYHIGHID)[1]','uniqueidentifier') AS 'MAJORGIVINGCAPACITYHIGHID',
                            T.c.value('(TARGETGIFTRANGELOWID)[1]','uniqueidentifier') AS 'TARGETGIFTRANGELOWID',
                            T.c.value('(TARGETGIFTRANGEHIGHID)[1]','uniqueidentifier') AS 'TARGETGIFTRANGEHIGHID',                                        
                            T.c.value('(WEALTHESTIMATORRATINGLOWID)[1]','uniqueidentifier') AS 'WEALTHESTIMATORRATINGLOWID',
                            T.c.value('(WEALTHESTIMATORRATINGHIGHID)[1]','uniqueidentifier') AS 'WEALTHESTIMATORRATINGHIGHID'
                        from
              @PRIMARYSECTIONSXML.nodes('/PRIMARYSECTIONS/ITEM') T(c)   
            for
              xml raw('ITEM'),type,elements,root('PRIMARYSECTIONS'),BINARY BASE64
                        );

                        set @SECONDARYSECTIONS1 = (select
                            T.c.value('(ID)[1]','uniqueidentifier') AS 'ID',
                            T.c.value('(SEQUENCE)[1]','int') AS 'SEQUENCE',
                            T.c.value('(LABEL)[1]','nvarchar(20)') AS 'LABEL',
                            nullif(T.c.value('(RANGELOW)[1]','int'),-1) AS 'RANGELOW',
                            nullif(T.c.value('(RANGEHIGH)[1]','int'), -1) AS 'RANGEHIGH',
                            T.c.value('(ESTIMATEDWEALTHLOWID)[1]','uniqueidentifier') AS 'ESTIMATEDWEALTHLOWID',
                            T.c.value('(ESTIMATEDWEALTHHIGHID)[1]','uniqueidentifier') AS 'ESTIMATEDWEALTHHIGHID',                                        
                            T.c.value('(MAJORGIVINGCAPACITYLOWID)[1]','uniqueidentifier') AS 'MAJORGIVINGCAPACITYLOWID',
                            T.c.value('(MAJORGIVINGCAPACITYHIGHID)[1]','uniqueidentifier') AS 'MAJORGIVINGCAPACITYHIGHID',
                            T.c.value('(TARGETGIFTRANGELOWID)[1]','uniqueidentifier') AS 'TARGETGIFTRANGELOWID',
                            T.c.value('(TARGETGIFTRANGEHIGHID)[1]','uniqueidentifier') AS 'TARGETGIFTRANGEHIGHID',                                        
                            T.c.value('(WEALTHESTIMATORRATINGLOWID)[1]','uniqueidentifier') AS 'WEALTHESTIMATORRATINGLOWID',
                            T.c.value('(WEALTHESTIMATORRATINGHIGHID)[1]','uniqueidentifier') AS 'WEALTHESTIMATORRATINGHIGHID'
                        from 
              @SECONDARYSECTIONSXML.nodes('/SECONDARYSECTIONS/ITEM') T(c) 
            for 
              xml raw('ITEM'),type,elements,root('SECONDARYSECTIONS1'),BINARY BASE64
                        );

                        set @SECONDARYSECTIONS2 = 
            (select
                            T.c.value('(SEQUENCE)[1]','int') AS 'SEQUENCE',
                            T.c.value('(LABEL2)[1]','nvarchar(20)') AS 'LABEL',
                            nullif(T.c.value('(RANGE2LOW)[1]','int'),-1) AS 'RANGELOW',
                            nullif(T.c.value('(RANGE2HIGH)[1]','int'), -1) AS 'RANGEHIGH',
                            T.c.value('(ESTIMATEDWEALTH2LOWID)[1]','uniqueidentifier') AS 'ESTIMATEDWEALTHLOWID',
                            T.c.value('(ESTIMATEDWEALTH2HIGHID)[1]','uniqueidentifier') AS 'ESTIMATEDWEALTHHIGHID',                                        
                            T.c.value('(MAJORGIVINGCAPACITY2LOWID)[1]','uniqueidentifier') AS 'MAJORGIVINGCAPACITYLOWID',
                            T.c.value('(MAJORGIVINGCAPACITY2HIGHID)[1]','uniqueidentifier') AS 'MAJORGIVINGCAPACITYHIGHID',
                            T.c.value('(TARGETGIFTRANGE2LOWID)[1]','uniqueidentifier') AS 'TARGETGIFTRANGELOWID',
                            T.c.value('(TARGETGIFTRANGE2HIGHID)[1]','uniqueidentifier') AS 'TARGETGIFTRANGEHIGHID',                                        
                            T.c.value('(WEALTHESTIMATORRATING2LOWID)[1]','uniqueidentifier') AS 'WEALTHESTIMATORRATINGLOWID',
                            T.c.value('(WEALTHESTIMATORRATING2HIGHID)[1]','uniqueidentifier') AS 'WEALTHESTIMATORRATINGHIGHID'
                        from 
              @SECONDARYSECTIONSXML.nodes('/SECONDARYSECTIONS/ITEM') T(c)
            where
              T.c.value('(LABEL2)[1]','nvarchar(20)') != ''
            for 
              xml raw('ITEM'),type,elements,root('SECONDARYSECTIONS2'),BINARY BASE64


                        );

                        return 0;