USP_DATAFORMTEMPLATE_EDITLOAD_DESIGNATIONHYBRID

The load procedure used by the edit dataform template "Designation Hybrid Edit Data 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.
@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.
@PARENTDESIGNATIONPATH nvarchar(512) INOUT
@PARENTLOOKUPID nvarchar(412) INOUT
@PARENTDESIGNATIONID uniqueidentifier INOUT
@DESIGNATIONLEVELTYPEID uniqueidentifier INOUT Type
@NAME nvarchar(100) INOUT Name
@VANITYNAME nvarchar(512) INOUT Public name
@DESCRIPTION nvarchar(255) INOUT Description
@DESIGNATIONLEVELCATEGORYCODEID uniqueidentifier INOUT Category
@LOOKUPID nvarchar(100) INOUT Lookup ID
@DESIGNATIONREPORT1CODEID uniqueidentifier INOUT Report code 1
@DESIGNATIONREPORT2CODEID uniqueidentifier INOUT Report code 2
@STARTDATE datetime INOUT Start date
@ENDDATE datetime INOUT End date
@SITEID uniqueidentifier INOUT Site

Definition

Copy

CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_DESIGNATIONHYBRID
(
  @ID uniqueidentifier,
    @DATALOADED bit = 0 output,
  @TSLONG bigint = 0 output,
    @PARENTDESIGNATIONPATH nvarchar(512) = null output,
    @PARENTLOOKUPID nvarchar(412) = null output,
    @PARENTDESIGNATIONID uniqueidentifier = null output,
    @DESIGNATIONLEVELTYPEID uniqueidentifier = null output,
    @NAME nvarchar(100) = null output,
    @VANITYNAME nvarchar(512) = null output,
    @DESCRIPTION nvarchar(255) = null output,
    @DESIGNATIONLEVELCATEGORYCODEID uniqueidentifier = null output,
    @LOOKUPID nvarchar(100) = null output,
    @DESIGNATIONREPORT1CODEID uniqueidentifier = null output,
    @DESIGNATIONREPORT2CODEID uniqueidentifier = null output,
    @STARTDATE datetime = null output,
    @ENDDATE datetime = null output,
  @SITEID uniqueidentifier = null output
)
as
    set nocount on;

    set @DATALOADED = 0;
    set @TSLONG = 0;

    declare @PARENTID uniqueidentifier;
    declare @DESIGNATIONLEVELID uniqueidentifier;

    select 
        @DATALOADED = 1,
        @TSLONG = DESIGNATION.TSLONG,
        @PARENTID = PARENTDESIGNATION.ID,
        @PARENTDESIGNATIONPATH = DESIGNATION.NAME,
        @PARENTLOOKUPID = PARENTDESIGNATION.USERID,
        @PARENTDESIGNATIONID = PARENTDESIGNATION.ID,
        @DESIGNATIONREPORT1CODEID = DESIGNATION.DESIGNATIONREPORT1CODEID,
        @DESIGNATIONREPORT2CODEID = DESIGNATION.DESIGNATIONREPORT2CODEID,
        @STARTDATE = DESIGNATION.STARTDATE,
        @ENDDATE = DESIGNATION.ENDDATE,
        @DESIGNATIONLEVELID = case
            when DESIGNATION.DESIGNATIONLEVEL2ID is null then DESIGNATION.DESIGNATIONLEVEL1ID
            when DESIGNATION.DESIGNATIONLEVEL3ID is null then DESIGNATION.DESIGNATIONLEVEL2ID
            when DESIGNATION.DESIGNATIONLEVEL4ID is null then DESIGNATION.DESIGNATIONLEVEL3ID
            when DESIGNATION.DESIGNATIONLEVEL5ID is null then DESIGNATION.DESIGNATIONLEVEL4ID
            else DESIGNATION.DESIGNATIONLEVEL5ID
        end,
        @VANITYNAME = DESIGNATION.VANITYNAME
    from
        dbo.DESIGNATION
    left outer join
        dbo.DESIGNATION [PARENTDESIGNATION] on DESIGNATION.DESIGNATIONLEVEL1ID = PARENTDESIGNATION.DESIGNATIONLEVEL1ID
            and (DESIGNATION.DESIGNATIONLEVEL2ID = PARENTDESIGNATION.DESIGNATIONLEVEL2ID or (PARENTDESIGNATION.DESIGNATIONLEVEL2ID is null and DESIGNATION.DESIGNATIONLEVEL3ID is null))
            and (DESIGNATION.DESIGNATIONLEVEL3ID = PARENTDESIGNATION.DESIGNATIONLEVEL3ID or (PARENTDESIGNATION.DESIGNATIONLEVEL3ID is null and DESIGNATION.DESIGNATIONLEVEL4ID is null))
            and (DESIGNATION.DESIGNATIONLEVEL4ID = PARENTDESIGNATION.DESIGNATIONLEVEL4ID or (PARENTDESIGNATION.DESIGNATIONLEVEL4ID is null and DESIGNATION.DESIGNATIONLEVEL5ID is null))
            and DESIGNATION.ID <> PARENTDESIGNATION.ID
    where
        DESIGNATION.ID = @ID;

    if @PARENTLOOKUPID is not null
        set @PARENTLOOKUPID = @PARENTLOOKUPID + '-';

    select
        @LOOKUPID = USERID,
        @DESCRIPTION = DESCRIPTION,
        @DESIGNATIONLEVELCATEGORYCODEID = DESIGNATIONLEVELCATEGORYCODEID,
        @DESIGNATIONLEVELTYPEID = DESIGNATIONLEVELTYPEID,
        @NAME = NAME,
    @SITEID = SITEID
    from
        dbo.DESIGNATIONLEVEL
    where
        ID = @DESIGNATIONLEVELID;

    return 0;