UFN_STUDENT_CURRENTENROLLMENTINFO
Returns the current enrollment information for a given student.
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@STUDENTID | uniqueidentifier | IN | |
@INCLUDEENROLLMENTSWITHNOPROGRESSIONS | bit | IN |
Definition
Copy
CREATE function dbo.UFN_STUDENT_CURRENTENROLLMENTINFO(
@STUDENTID uniqueidentifier,
@INCLUDEENROLLMENTSWITHNOPROGRESSIONS bit = 1
)
returns @UFN_STUDENT_CURRENTENROLLMENTINFO TABLE
(
ENROLLMENTID uniqueidentifier,
SCHOOLID uniqueidentifier,
SCHOOL nvarchar(100),
GRADELEVELID uniqueidentifier,
GRADELEVEL nvarchar(10),
HOMEROOMTEACHERID uniqueidentifier,
HOMEROOMTEACHER nvarchar(154),
ADVISORID uniqueidentifier,
ADVISOR nvarchar(154),
ROW tinyint
)
with execute as caller
as begin
begin
if @INCLUDEENROLLMENTSWITHNOPROGRESSIONS = 1
begin
INSERT INTO @UFN_STUDENT_CURRENTENROLLMENTINFO
(
ENROLLMENTID,
SCHOOLID,
SCHOOL,
GRADELEVELID,
GRADELEVEL,
HOMEROOMTEACHERID,
HOMEROOMTEACHER,
ADVISORID,
ADVISOR,
ROW
)
select
CURR_ENROLL.[ENROLLMENTID],
ISNULL(CONSTIT_PROG_SCHOOL.[ID], CONSTIT_ENROLL_SCHOOL.[ID]),
ISNULL(CONSTIT_PROG_SCHOOL.[KEYNAME], CONSTIT_ENROLL_SCHOOL.[KEYNAME]),
dbo.GRADELEVEL.[ID],
dbo.GRADELEVEL.[ABBREVIATION],
CURR_PROG.[HOMEROOMTEACHERID],
CONSTIT_HOMEROOMTEACHER.[NAME],
dbo.STUDENTADVISOR.[FACULTYID],
CONSTIT_ADVISOR.[NAME],
ROW_NUMBER() OVER (ORDER BY CURR_ENROLL.[ENROLLMENTID])
from
dbo.UFN_STUDENTENROLLMENT_CURRENTINFORMATION(@STUDENTID) as CURR_ENROLL
inner join dbo.CONSTITUENT as CONSTIT_ENROLL_SCHOOL on CURR_ENROLL.[SCHOOLID] = CONSTIT_ENROLL_SCHOOL.[ID]
left outer join dbo.STUDENTPROGRESSION as CURR_PROG on CURR_ENROLL.[ENROLLMENTID] = CURR_PROG.[ENROLLMENTID] and (GETDATE() BETWEEN CURR_PROG.[STARTDATE] AND CURR_PROG.[ENDDATE])
left outer join dbo.SCHOOLGRADELEVEL on CURR_PROG.[SCHOOLGRADELEVELID] = dbo.SCHOOLGRADELEVEL.[ID]
left outer join dbo.GRADELEVEL on dbo.SCHOOLGRADELEVEL.[GRADELEVELID] = dbo.GRADELEVEL.[ID]
left outer join dbo.CONSTITUENT as CONSTIT_PROG_SCHOOL on dbo.SCHOOLGRADELEVEL.[SCHOOLID] = CONSTIT_PROG_SCHOOL.[ID]
left outer join dbo.CONSTITUENT as CONSTIT_HOMEROOMTEACHER on CURR_PROG.[HOMEROOMTEACHERID] = CONSTIT_HOMEROOMTEACHER.[ID]
left outer join dbo.STUDENTADVISOR on dbo.STUDENTADVISOR.[ID] = dbo.UFN_STUDENTADVISOR_GETFIRSTID(CURR_PROG.[ID])
left outer join dbo.CONSTITUENT CONSTIT_ADVISOR on dbo.STUDENTADVISOR.[FACULTYID] = CONSTIT_ADVISOR.[ID]
order by CURR_ENROLL.[STARTDATE], CURR_PROG.[STARTDATE]
end
end
return
end