USP_DATAFORMTEMPLATE_VIEW_MAPPAGEEXPRESSIONS

The load procedure used by the view dataform template "Map Page Expressions View Form"

Parameters

Parameter Parameter Type Mode Description
@ID nvarchar(108) IN The input ID parameter used to load the fields defined on the form.
@DATALOADED bit INOUT Output parameter indicating whether or not data was actually loaded.
@NAME nvarchar(400) INOUT NAME
@MAPPINGCREDENTIALSEXIST bit INOUT MAPPINGCREDENTIALSEXIST
@MAPDISTANCEUNITCODE tinyint INOUT MAPDISTANCEUNITCODE

Definition

Copy


                CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_MAPPAGEEXPRESSIONS (
                    @ID nvarchar(108),
                    @DATALOADED bit = 0 output,
                    @NAME nvarchar(400) = null output,
                    @MAPPINGCREDENTIALSEXIST bit = null output,
                    @MAPDISTANCEUNITCODE tinyint = null output
                ) as
                    set @DATALOADED = 0;

                    declare @MAPPINGCREDENTIALSID uniqueidentifier;
                    select top 1
                        @MAPPINGCREDENTIALSID = ID
                    from
                        dbo.MAPPINGCREDENTIALS
                    where
                        len([KEY]) > 0;

                    if @MAPPINGCREDENTIALSID is not null
                        set @MAPPINGCREDENTIALSEXIST = 1;
                    else
                        set @MAPPINGCREDENTIALSEXIST = 0;

                    if len(@ID) = 0 or @ID = '00000000-0000-0000-0000-000000000000' begin
                        set @DATALOADED = 1;
                    end
                    else if len(@ID) = 36 begin
                        select
                            @DATALOADED = 1,
                            @NAME = NAME
                        from
                            dbo.MAPINSTANCE
                        where
                            ID = @ID;
                    end
                    else if len(@ID) = 72 or len(@ID) = 108 begin
                        declare @MAPPINGPROCEDURE nvarchar(1000);
                        declare @MAPENTITYID uniqueidentifier;
                        declare @RECORDID uniqueidentifier;
                        declare @ADDRESSID uniqueidentifier;

                        begin try
                            set @MAPENTITYID = convert(uniqueidentifier,substring(@ID,1,36));
                            set @RECORDID = convert(uniqueidentifier,substring(@ID,37,36));
                        end try
                        begin catch
                            set @DATALOADED = 0;
                        end catch

                        if len(@ID) = 108 begin
                            set @ADDRESSID = convert(uniqueidentifier,substring(@ID,73,36));
                        end

                        select
                            @MAPPINGPROCEDURE = MAPPINGPROCEDURE
                        from
                            dbo.MAPENTITYCATALOG
                        where
                            MAPENTITYCATALOG.ID = @MAPENTITYID;

                        if len(@MAPPINGPROCEDURE) > 0 begin
                            declare @MAPROWS table ([MAPPEDRECORDID] uniqueidentifier,[DESCRIPTION] nvarchar(400),[ADDRESSID] uniqueidentifier, [ADDRESSBLOCK] nvarchar(150),[CITY] nvarchar(50),[STATE] nvarchar(100),[COUNTRY] nvarchar(100),[POSTCODE] nvarchar(12), [LATITUDE] decimal,[LONGITUDE] decimal, [GROUPID] uniqueidentifier, [GROUPNAME] nvarchar(400));
                            declare @SPNAME nvarchar(1000);
                            set @MAPPINGPROCEDURE = 'dbo.' + @MAPPINGPROCEDURE;

                            if @ADDRESSID is not null begin
                                insert into @MAPROWS exec @MAPPINGPROCEDURE @RECORDID, @ADDRESSID;
                            end
                            else begin
                                insert into @MAPROWS exec @MAPPINGPROCEDURE @RECORDID;
                            end

                            select top 1
                                @NAME = case when len(MR.GROUPNAME) > 0 then MR.GROUPNAME else MR.DESCRIPTION end
                            from
                                @MAPROWS MR;

                            set @DATALOADED = 1;
                        end
                    end

                    select top 1
                        @MAPDISTANCEUNITCODE = MAPDISTANCEUNITCODE
                    from 
                        dbo.MAPDISTANCEUNIT

                    return 0;