USP_DATAFORMTEMPLATE_VIEW_SMARTFIELD

The load procedure used by the view dataform template "Smart Field View Form"

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier 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.
@SYSTEMRECORDID uniqueidentifier INOUT System record ID
@DESCRIPTION nvarchar(1000) INOUT Description
@AUTHOR nvarchar(500) INOUT Author
@DATEADDED datetime INOUT Date added
@DATECHANGED datetime INOUT Date changed
@DATATYPE nvarchar(7) INOUT Data type
@RECORDTYPENAME nvarchar(50) INOUT Record type
@VALUERECORDTYPENAME nvarchar(50) INOUT Value record type
@PROCEDURENAME nvarchar(128) INOUT Procedure name
@SMARTFIELDFOLDER nvarchar(500) INOUT Smart field folder
@INSTALLEDPRODUCTLIST nvarchar(max) INOUT Installed products
@INSTALLED bit INOUT Installed

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_SMARTFIELD
(
    @ID uniqueidentifier,
    @DATALOADED bit = 0 output,
    @SYSTEMRECORDID uniqueidentifier = null output,
    @DESCRIPTION nvarchar(1000) = null output,
    @AUTHOR nvarchar(500)  = null output,
    @DATEADDED datetime = null output,
    @DATECHANGED datetime = null output,
    @DATATYPE nvarchar(7) = null output,
    @RECORDTYPENAME nvarchar(50) = null output,
    @VALUERECORDTYPENAME nvarchar(50) = null output,
    @PROCEDURENAME nvarchar(128) = null output,
    @SMARTFIELDFOLDER nvarchar(500) = null output,
    @INSTALLEDPRODUCTLIST nvarchar(max) = null output,
    @INSTALLED bit = null output
)
as
    set nocount on;
    set @DATALOADED = 0;

    with xmlnamespaces ('bb_appfx_smartfield' as tns, 'bb_appfx_commontypes' as common)
    select 
        @DATALOADED = 1,
        @SYSTEMRECORDID = @ID,
        @DESCRIPTION = S.DESCRIPTION,
        @AUTHOR = S.SMARTFIELDSPECXML.value('(tns:SmartFieldSpec/@Author)[1]', 'nvarchar(500)'),
        @DATEADDED = S.DATEADDED,
        @DATECHANGED = S.DATECHANGED,
        @DATATYPE = S.DATATYPE,
        @RECORDTYPENAME = coalesce(RT.NAME, ''),
        @VALUERECORDTYPENAME = coalesce(VRT.NAME, ''),
        @PROCEDURENAME = S.PROCEDURENAME,
        @SMARTFIELDFOLDER = S.SMARTFIELDFOLDER,
        @INSTALLEDPRODUCTLIST = dbo.UFN_INSTALLEDPRODUCTS_TRANSLATELIST(S.SMARTFIELDSPECXML.query('tns:SmartFieldSpec/common:InstalledProductList')),
        @INSTALLED = dbo.UFN_INSTALLEDPRODUCTS_OPTIONALPRODUCTSINSTALLED(S.SMARTFIELDSPECXML.query('tns:SmartFieldSpec/common:InstalledProductList'))
    from dbo.SMARTFIELDCATALOG as S
        left join dbo.RECORDTYPE as RT on S.RECORDTYPEID = RT.ID
        left join dbo.RECORDTYPE as VRT on S.VALUERECORDTYPEID = VRT.ID
    where S.ID = @ID;

    return 0;