USP_DATAFORMTEMPLATE_EDITLOAD_CODETABLEENTRYPERMISSION

The load procedure used by the edit dataform template "Code Table Entry Permission Edit Form"

Parameters

Parameter Parameter Type Mode Description
@ID nchar 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.
@CODETABLEENTRYPERMISSIONS xml INOUT Code table entry permissions

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_CODETABLEENTRYPERMISSION
                    (
                        @ID nchar(73),
                        @DATALOADED bit = 0 output,
                        @CODETABLEENTRYPERMISSIONS xml = null output
                    )
                    with execute as owner
                    as
                        set nocount on;

                        set @DATALOADED = 0;

                        declare @SYSTEMROLEID uniqueidentifier;
                        declare @CODETABLECATALOGID uniqueidentifier;
                        declare @DBTABLENAME nvarchar(100);

                        set @SYSTEMROLEID = cast(substring(@ID,1,36) as uniqueidentifier);
                        set @CODETABLECATALOGID = cast(substring(@ID,38,36) as uniqueidentifier);

                        select 
                            @DBTABLENAME = DBTABLENAME,
                            @DATALOADED = 1
                        from 
                            dbo.CODETABLECATALOG 
                        where 
                            ID = @CODETABLECATALOGID
                            and 1 = dbo.UFN_INSTALLEDPRODUCTS_OPTIONALPRODUCTSINSTALLED
                                (
                                    CODETABLECATALOG.CODETABLESPECXML.query
                                        (
                                            'declare namespace common="bb_appfx_commontypes";
                                            /*/common:InstalledProductList'
                                        )
                                );

                        declare @SQL nvarchar(max);

                        set @SQL = 'select @CODETABLEENTRYPERMISSIONS = 
                                (select SYSTEMROLEPERM_CODETABLEENTRY.ID, @CODETABLEID as CODETABLECATALOGID, CT.ID as CODETABLEENTRYID, CT.DESCRIPTION as CODETABLEENTRYNAME, coalesce(SYSTEMROLEPERM_CODETABLEENTRY.ISDENIED, 0) as ISDENIED
                                from dbo.' + @DBTABLENAME + ' CT left join dbo.SYSTEMROLEPERM_CODETABLEENTRY on CT.ID = SYSTEMROLEPERM_CODETABLEENTRY.CODETABLEENTRYID and SYSTEMROLEPERM_CODETABLEENTRY.SYSTEMROLEID = @ROLEID
                                order by CT.DESCRIPTION
                                for xml raw(''ITEM''), type, elements, root(''CODETABLEENTRYPERMISSIONS''), BINARY BASE64)'

                        exec sp_executesql @SQL, N'@ROLEID uniqueidentifier,@CODETABLEID uniqueidentifier,@CODETABLEENTRYPERMISSIONS xml output', @ROLEID = @SYSTEMROLEID, @CODETABLEID = @CODETABLECATALOGID, @CODETABLEENTRYPERMISSIONS = @CODETABLEENTRYPERMISSIONS output;

                        return 0;