UFN_EDUCATIONALHISTORY_ADDITIONALINFORMATIONLIST
Returns a list of additional information for an educational history record.
Return
Return Type |
---|
nvarchar(4000) |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@EDUCATIONALHISTORYID | uniqueidentifier | IN |
Definition
Copy
CREATE function dbo.UFN_EDUCATIONALHISTORY_ADDITIONALINFORMATIONLIST
(
@EDUCATIONALHISTORYID uniqueidentifier
)
returns nvarchar(4000)
as
begin
declare @ACADEMICCATALOGCOLLEGE nvarchar(150);
declare @ACADEMICCATALOGDIVISION nvarchar(150);
declare @ACADEMICCATALOGDEPARTMENT nvarchar(150);
declare @ACADEMICCATALOGSUBDEPARTMENT nvarchar(150);
declare @ACADEMICCATALOGDEGREETYPE nvarchar(150);
declare @EDUCATIONALCOLLEGE nvarchar(150);
declare @EDUCATIONALDIVISION nvarchar(150);
declare @EDUCATIONALDEPARTMENT nvarchar(150);
declare @EDUCATIONALSUBDEPARTMENT nvarchar(150);
declare @EDUCATIONALDEGREETYPE nvarchar(150);
declare @LIST nvarchar(4000);
declare @SEPERATOR nvarchar(2);
declare @USEACADEMICCATALOG bit;
select top 1
@USEACADEMICCATALOG = EC.USEACADEMICCATALOG
from
dbo.EDUCATIONALCONFIGURATION EC;
set @USEACADEMICCATALOG = coalesce(@USEACADEMICCATALOG,0);
declare @ISAFFILIATED bit;
select
@ISAFFILIATED = INSTITUTION.ISAFFILIATED
from
dbo.EDUCATIONALINSTITUTION INSTITUTION
inner join dbo.EDUCATIONALHISTORY EDUCATION on INSTITUTION.ID = EDUCATION.EDUCATIONALINSTITUTIONID
where
EDUCATION.ID = @EDUCATIONALHISTORYID;
set @LIST = N'';
declare EDUCATIONCURSOR cursor local fast_forward for
select
dbo.UFN_ACADEMICCATALOGCOLLEGE_GETNAME(ACADEMICCATALOGCOLLEGEID) as ACADEMICCATALOGCOLLEGE,
dbo.UFN_ACADEMICCATALOGDIVISION_GETNAME(ACADEMICCATALOGDIVISIONID) as ACADEMICCATALOGDIVISION,
dbo.UFN_ACADEMICCATALOGDEPARTMENT_GETNAME(ACADEMICCATALOGDEPARTMENTID) as ACADEMICCATALOGDEPARTMENT,
dbo.UFN_ACADEMICCATALOGSUBDEPARTMENT_GETNAME(ACADEMICCATALOGSUBDEPARTMENTID) as ACADEMICCATALOGSUBDEPARTMENT,
dbo.UFN_ACADEMICCATALOGDEGREETYPE_GETNAME(ACADEMICCATALOGDEGREETYPEID) as ACADEMICCATALOGDEGREETYPE,
dbo.UFN_EDUCATIONALCOLLEGECODE_GETDESCRIPTION(EDUCATIONALCOLLEGECODEID) as EDUCATIONALCOLLEGE,
dbo.UFN_EDUCATIONALDIVISIONCODE_GETDESCRIPTION(EDUCATIONALDIVISIONCODEID) as EDUCATIONALDIVISION,
dbo.UFN_EDUCATIONALDEPARTMENTCODE_GETDESCRIPTION(EDUCATIONALDEPARTMENTCODEID) as EDUCATIONALDEPARTMENT,
dbo.UFN_EDUCATIONALSUBDEPARTMENTCODE_GETDESCRIPTION(EDUCATIONALSUBDEPARTMENTCODEID) as EDUCATIONALSUBDEPARTMENT,
dbo.UFN_EDUCATIONALDEGREETYPECODE_GETDESCRIPTION(EDUCATIONALDEGREETYPECODEID) as EDUCATIONALDEGREETYPE
from
dbo.EDUCATIONADDITIONALINFORMATION
where
EDUCATIONALHISTORYID = @EDUCATIONALHISTORYID;
open EDUCATIONCURSOR;
fetch next from EDUCATIONCURSOR into @ACADEMICCATALOGCOLLEGE, @ACADEMICCATALOGDIVISION, @ACADEMICCATALOGDEPARTMENT, @ACADEMICCATALOGSUBDEPARTMENT, @ACADEMICCATALOGDEGREETYPE, @EDUCATIONALCOLLEGE, @EDUCATIONALDIVISION, @EDUCATIONALDEPARTMENT, @EDUCATIONALSUBDEPARTMENT, @EDUCATIONALDEGREETYPE;
set @LIST = '';
set @SEPERATOR = '; ';
while @@FETCH_STATUS = 0
begin
if @ISAFFILIATED = 1 and @USEACADEMICCATALOG = 1
begin
set @LIST = @LIST + case when @ACADEMICCATALOGCOLLEGE is not null then @ACADEMICCATALOGCOLLEGE else '' end
set @LIST = @LIST + case when @ACADEMICCATALOGDIVISION is not null then @SEPERATOR + @ACADEMICCATALOGDIVISION else '' end
set @LIST = @LIST + case when @ACADEMICCATALOGDEPARTMENT is not null then @SEPERATOR + @ACADEMICCATALOGDEPARTMENT else '' end
set @LIST = @LIST + case when @ACADEMICCATALOGSUBDEPARTMENT is not null then @SEPERATOR + @ACADEMICCATALOGSUBDEPARTMENT else '' end
set @LIST = @LIST + case when @ACADEMICCATALOGDEGREETYPE is not null then @SEPERATOR + @ACADEMICCATALOGDEGREETYPE else '' end
set @LIST = @LIST + CHAR(10);
end
else
begin
set @LIST = @LIST + case when len(@EDUCATIONALCOLLEGE) > 0 then @EDUCATIONALCOLLEGE else '' end
set @LIST = @LIST + case when (len(@LIST) > 0 and len(@EDUCATIONALDIVISION) > 0) then @SEPERATOR + @EDUCATIONALDIVISION
when len(@EDUCATIONALDIVISION) > 0 then @EDUCATIONALDIVISION else '' end
set @LIST = @LIST + case when (len(@LIST) > 0 and len(@EDUCATIONALDEPARTMENT) > 0) then @SEPERATOR + @EDUCATIONALDEPARTMENT
when len(@EDUCATIONALDEPARTMENT) > 0 then @EDUCATIONALDEPARTMENT else '' end
set @LIST = @LIST + case when (len(@LIST) > 0 and len(@EDUCATIONALSUBDEPARTMENT) > 0) then @SEPERATOR + @EDUCATIONALSUBDEPARTMENT
when len(@EDUCATIONALSUBDEPARTMENT) > 0 then @EDUCATIONALSUBDEPARTMENT else '' end
set @LIST = @LIST + case when (len(@LIST) > 0 and len(@EDUCATIONALDEGREETYPE) > 0) then @SEPERATOR + @EDUCATIONALDEGREETYPE
when len(@EDUCATIONALDEGREETYPE) > 0 then @EDUCATIONALDEGREETYPE else '' end
set @LIST = @LIST + CHAR(10);
end
fetch next from EDUCATIONCURSOR into @ACADEMICCATALOGCOLLEGE, @ACADEMICCATALOGDIVISION, @ACADEMICCATALOGDEPARTMENT, @ACADEMICCATALOGSUBDEPARTMENT, @ACADEMICCATALOGDEGREETYPE, @EDUCATIONALCOLLEGE, @EDUCATIONALDIVISION, @EDUCATIONALDEPARTMENT, @EDUCATIONALSUBDEPARTMENT, @EDUCATIONALDEGREETYPE;
end
--When a cursor is used, it should be explicitly closed/deallocated in case of blocking or USP running long
close EDUCATIONCURSOR;
deallocate EDUCATIONCURSOR;
return @LIST;
end