USP_DATAFORMTEMPLATE_VIEW_MARRIAGERELATIONSHIPCHOICES

The load procedure used by the view dataform template "Marriage Relationship Choices View"

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.
@RELATIONSHIP nvarchar(100) INOUT RELATIONSHIP
@MALE_RECIPROCALRELATIONSHIP nvarchar(100) INOUT MALE_RECIPROCALRELATIONSHIP
@FEMALE_RECIPROCALRELATIONSHIP nvarchar(100) INOUT FEMALE_RECIPROCALRELATIONSHIP

Definition

Copy


create procedure dbo.USP_DATAFORMTEMPLATE_VIEW_MARRIAGERELATIONSHIPCHOICES
(
    @ID uniqueidentifier,
    @DATALOADED bit = 0 output,
    @RELATIONSHIP nvarchar(100) = null output,
    @MALE_RECIPROCALRELATIONSHIP nvarchar(100) = null output,
    @FEMALE_RECIPROCALRELATIONSHIP nvarchar(100) = null output
)
as
    set nocount on;

    -- Always return success, placeholder text will be used as needed.

    set @DATALOADED = 1;

    if @ID is not null and @ID <> '00000000-0000-0000-0000-000000000000'
    begin
        select
            @RELATIONSHIP = RELATIONSHIPTYPECODE.DESCRIPTION
        from dbo.RELATIONSHIPTYPECODE
        where ID = @ID;

        -- GENDERCODES: 0=Unknown, 1=Male, 2=Female

        --this returns a list of type codes; DESCRIPTION is set to 1 if there are commonly used relationship type combinations; we grab the first to match behavior in UI

        declare @RELATIONSHIPTYPERELATESTO table(VALUE uniqueidentifier, LABEL nvarchar(255), DESCRIPTION bit);
        delete @RELATIONSHIPTYPERELATESTO;

        insert into @RELATIONSHIPTYPERELATESTO 
        exec dbo.USP_SIMPLEDATALIST_RELATIONSHIPTYPERELATESTO 0, null, @ID, 1, 0, null

        select top 1 @MALE_RECIPROCALRELATIONSHIP = RELATIONSHIPTYPECODE.DESCRIPTION
        from @RELATIONSHIPTYPERELATESTO R
            inner join dbo.RELATIONSHIPTYPECODE on R.VALUE = RELATIONSHIPTYPECODE.ID
        where R.DESCRIPTION = 1;

        delete from @RELATIONSHIPTYPERELATESTO;

        insert into @RELATIONSHIPTYPERELATESTO 
        exec dbo.USP_SIMPLEDATALIST_RELATIONSHIPTYPERELATESTO 0, null, @ID, 2, 0, null

        select top 1 @FEMALE_RECIPROCALRELATIONSHIP = RELATIONSHIPTYPECODE.DESCRIPTION
        from @RELATIONSHIPTYPERELATESTO R
            inner join dbo.RELATIONSHIPTYPECODE on R.VALUE = RELATIONSHIPTYPECODE.ID
        where R.DESCRIPTION = 1;
    end

    return 0;