USP_DATAFORMTEMPLATE_EDIT_EDUCATIONALHISTORYUPDATEBATCHTEMPLATE
The save procedure used by the edit dataform template "Educational History Update Batch Template Edit Form".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | The input ID parameter indicating the ID of the record being edited. |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the procedure. |
@VALIDATEONLY | bit | IN | Validate only |
@CONSTITUENTLOOKUPID | nvarchar(100) | IN | Constituent lookup ID |
@CONSTITUENTKEYNAME | nvarchar(100) | IN | Constituent last name |
@CONSTITUENTFIRSTNAME | nvarchar(50) | IN | Constituent first name |
@EDUCATIONALINSTITUTIONID | uniqueidentifier | IN | Educational institution |
@EDUCATIONALINSTITUTIONNAME | nvarchar(100) | IN | Educational institution name |
@EDUCATIONALINSTITUTIONFICECODE | nvarchar(50) | IN | Educational institution FICE code |
@EDUCATIONALINSTITUTIONCOUNTRYID | uniqueidentifier | IN | Educational institution country |
@EDUCATIONALINSTITUTIONCITY | nvarchar(150) | IN | Educational institution city |
@EDUCATIONALINSTITUTIONSTATEID | uniqueidentifier | IN | Educational institution state |
@ISPRIMARYRECORD | bit | IN | Primary education information |
@ACADEMICCATALOGPROGRAMID | uniqueidentifier | IN | Academic catalog program |
@EDUCATIONALPROGRAMCODEID | uniqueidentifier | IN | Educational program |
@CONSTITUENCYSTATUSCODE | tinyint | IN | Status |
@EDUCATIONALHISTORYREASONCODEID | uniqueidentifier | IN | Reason |
@EDUCATIONALHISTORYLEVELCODEID | uniqueidentifier | IN | Level |
@DATELEFT | UDT_FUZZYDATE | IN | Date attended to |
@DATEGRADUATED | UDT_FUZZYDATE | IN | Graduation date |
@ACADEMICCATALOGDEGREEID | uniqueidentifier | IN | Academic catalog degree |
@EDUCATIONALDEGREECODEID | uniqueidentifier | IN | Educational degree |
@EDUCATIONALAWARDCODEID | uniqueidentifier | IN | Honor awarded |
@STARTDATE | UDT_FUZZYDATE | IN | Date attended from |
@CLASSYEAR | UDT_YEAR | IN | Class of |
@PREFERREDCLASSYEAR | UDT_YEAR | IN | Preferred class of |
@EDUCATIONALSOURCECODEID | uniqueidentifier | IN | Information source |
@EDUCATIONALSOURCEDATE | UDT_FUZZYDATE | IN | Source date |
@COMMENT | nvarchar(500) | IN | Comments |
@AFFILIATEDADDITIONALINFORMATION | xml | IN | Academic catalog additional information |
@UNAFFILIATEDADDITIONALINFORMATION | xml | IN | Educational additional information |
@EDUCATIONALINVOLVEMENTS | xml | IN | Educational involvements |
@EDUCATIONALHISTORYSTATUSID | uniqueidentifier | IN | Status |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_EDUCATIONALHISTORYUPDATEBATCHTEMPLATE (
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@VALIDATEONLY bit,
@CONSTITUENTLOOKUPID nvarchar(100),
@CONSTITUENTKEYNAME nvarchar(100),
@CONSTITUENTFIRSTNAME nvarchar(50),
@EDUCATIONALINSTITUTIONID uniqueidentifier,
@EDUCATIONALINSTITUTIONNAME nvarchar(100),
@EDUCATIONALINSTITUTIONFICECODE nvarchar(50),
@EDUCATIONALINSTITUTIONCOUNTRYID uniqueidentifier,
@EDUCATIONALINSTITUTIONCITY nvarchar(150),
@EDUCATIONALINSTITUTIONSTATEID uniqueidentifier,
@ISPRIMARYRECORD bit,
@ACADEMICCATALOGPROGRAMID uniqueidentifier,
@EDUCATIONALPROGRAMCODEID uniqueidentifier,
@CONSTITUENCYSTATUSCODE tinyint,
@EDUCATIONALHISTORYREASONCODEID uniqueidentifier,
@EDUCATIONALHISTORYLEVELCODEID uniqueidentifier,
@DATELEFT dbo.UDT_FUZZYDATE,
@DATEGRADUATED dbo.UDT_FUZZYDATE,
@ACADEMICCATALOGDEGREEID uniqueidentifier,
@EDUCATIONALDEGREECODEID uniqueidentifier,
@EDUCATIONALAWARDCODEID uniqueidentifier,
@STARTDATE dbo.UDT_FUZZYDATE,
@CLASSYEAR dbo.UDT_YEAR,
@PREFERREDCLASSYEAR dbo.UDT_YEAR,
@EDUCATIONALSOURCECODEID uniqueidentifier,
@EDUCATIONALSOURCEDATE dbo.UDT_FUZZYDATE,
@COMMENT nvarchar(500),
@AFFILIATEDADDITIONALINFORMATION xml,
@UNAFFILIATEDADDITIONALINFORMATION xml,
@EDUCATIONALINVOLVEMENTS xml,
@EDUCATIONALHISTORYSTATUSID uniqueidentifier
) as
set nocount on;
declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
begin try
--==========================================================
-- Constituent
--==========================================================
declare @CONSTITUENTID uniqueidentifier;
select
@CONSTITUENTID = EH.[CONSTITUENTID]
from
dbo.[EDUCATIONALHISTORY] EH
where
EH.[ID] = @ID;
--==========================================================
-- Academic catalog
--==========================================================
declare @USEACADEMICCATALOG bit;
select top 1
@USEACADEMICCATALOG = EC.[USEACADEMICCATALOG]
from
dbo.[EDUCATIONALCONFIGURATION] EC;
set @USEACADEMICCATALOG = coalesce(@USEACADEMICCATALOG,0);
--==========================================================
-- Educational institution
--==========================================================
if @EDUCATIONALINSTITUTIONID is null
begin
select top 1
@EDUCATIONALINSTITUTIONID = EI.[ID]
from
dbo.[EDUCATIONALINSTITUTION] EI
where
EI.[NAME] = @EDUCATIONALINSTITUTIONNAME;
if @EDUCATIONALINSTITUTIONID is null and nullif(@EDUCATIONALINSTITUTIONNAME, '') is null begin
select top 1
@EDUCATIONALINSTITUTIONID = EH.[EDUCATIONALINSTITUTIONID]
from
dbo.[EDUCATIONALHISTORY] EH
where
EH.[ID] = @ID;
end
if @EDUCATIONALINSTITUTIONID is null
begin
set @EDUCATIONALINSTITUTIONID = newid();
set @EDUCATIONALINSTITUTIONFICECODE = coalesce(@EDUCATIONALINSTITUTIONFICECODE, '');
set @EDUCATIONALINSTITUTIONNAME = coalesce(@EDUCATIONALINSTITUTIONNAME, '');
set @EDUCATIONALINSTITUTIONCITY = coalesce(@EDUCATIONALINSTITUTIONCITY, '');
exec dbo.USP_DATAFORMTEMPLATE_ADD_EDUCATIONALINSTITUTION_2 @EDUCATIONALINSTITUTIONID, @CHANGEAGENTID, @EDUCATIONALINSTITUTIONFICECODE, @EDUCATIONALINSTITUTIONNAME, 0, @EDUCATIONALINSTITUTIONCOUNTRYID, @EDUCATIONALINSTITUTIONCITY, @EDUCATIONALINSTITUTIONSTATEID;
end
end
declare @EDUCATIONALINSTITUTIONISAFFILIATED bit;
select
@EDUCATIONALINSTITUTIONISAFFILIATED = EI.[ISAFFILIATED]
from
dbo.[EDUCATIONALINSTITUTION] EI
where
EI.[ID] = @EDUCATIONALINSTITUTIONID;
--==========================================================
-- Primary record
--==========================================================
update
dbo.[EDUCATIONALHISTORY]
set
[ISPRIMARYRECORD] = 0,
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CURRENTDATE
where
@ISPRIMARYRECORD = 1 and
[ISPRIMARYRECORD] = 1 and
[CONSTITUENTID] = @CONSTITUENTID and
[ID] <> @ID;
--==========================================================
-- Educational history
--==========================================================
if @USEACADEMICCATALOG = 1 and @EDUCATIONALINSTITUTIONISAFFILIATED = 1
begin
update
dbo.[EDUCATIONALHISTORY]
set
[EDUCATIONALPROGRAMCODEID] = null,
[EDUCATIONALDEGREECODEID] = null,
[EDUCATIONALINSTITUTIONID] = coalesce(nullif(@EDUCATIONALINSTITUTIONID, '00000000-0000-0000-0000-000000000000'), EH.[EDUCATIONALINSTITUTIONID]),
[ISPRIMARYRECORD] = coalesce(@ISPRIMARYRECORD, EH.[ISPRIMARYRECORD]),
[ACADEMICCATALOGPROGRAMID] = coalesce(nullif(@ACADEMICCATALOGPROGRAMID, '00000000-0000-0000-0000-000000000000'), EH.[ACADEMICCATALOGPROGRAMID]),
[CONSTITUENCYSTATUSCODE] =
case
when nullif(@EDUCATIONALHISTORYREASONCODEID, '00000000-0000-0000-0000-000000000000') is null then
coalesce(nullif(@CONSTITUENCYSTATUSCODE, 0), EH.[CONSTITUENCYSTATUSCODE])
else coalesce(@CONSTITUENCYSTATUSCODE, 0)
end,
[EDUCATIONALHISTORYREASONCODEID] = coalesce(nullif(@EDUCATIONALHISTORYREASONCODEID, '00000000-0000-0000-0000-000000000000'), EH.[EDUCATIONALHISTORYREASONCODEID]),
[EDUCATIONALHISTORYLEVELCODEID] = coalesce(nullif(@EDUCATIONALHISTORYLEVELCODEID, '00000000-0000-0000-0000-000000000000'), EH.[EDUCATIONALHISTORYLEVELCODEID]),
[DATELEFT] = coalesce(nullif(@DATELEFT, '00000000'), EH.[DATELEFT]),
[DATEGRADUATED] = coalesce(nullif(@DATEGRADUATED, '00000000'), EH.[DATEGRADUATED]),
[ACADEMICCATALOGDEGREEID] =
case
when exists(
select
ACD.ID
from
dbo.ACADEMICCATALOGDEGREE ACD
where
ACD.ACADEMICCATALOGPROGRAMID = coalesce(nullif(@ACADEMICCATALOGPROGRAMID, '00000000-0000-0000-0000-000000000000'), EH.[ACADEMICCATALOGPROGRAMID])
and ACD.ID = coalesce(nullif(@ACADEMICCATALOGDEGREEID, '00000000-0000-0000-0000-000000000000'), EH.[ACADEMICCATALOGDEGREEID])
) then coalesce(nullif(@ACADEMICCATALOGDEGREEID, '00000000-0000-0000-0000-000000000000'), EH.[ACADEMICCATALOGDEGREEID])
else null
end,
[EDUCATIONALAWARDCODEID] = coalesce(@EDUCATIONALAWARDCODEID, EH.[EDUCATIONALAWARDCODEID]),
[STARTDATE] = coalesce(nullif(@STARTDATE, '00000000'), EH.[STARTDATE]),
[CLASSOF] = coalesce(nullif(@CLASSYEAR, '0000'), EH.[CLASSOF]),
[PREFERREDCLASSYEAR] = coalesce(nullif(@PREFERREDCLASSYEAR, '0000'), EH.[PREFERREDCLASSYEAR]),
[EDUCATIONALSOURCECODEID] = coalesce(nullif(@EDUCATIONALSOURCECODEID, '00000000-0000-0000-0000-000000000000'), EH.[EDUCATIONALSOURCECODEID]),
[EDUCATIONALSOURCEDATE] = coalesce(nullif(@EDUCATIONALSOURCEDATE, '00000000'), EH.[EDUCATIONALSOURCEDATE]),
[COMMENT] = coalesce(nullif(@COMMENT, ''), EH.[COMMENT]),
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CURRENTDATE
from
dbo.[EDUCATIONALHISTORY] EH
where
EH.[ID] = @ID;
end
else
begin
update
dbo.[EDUCATIONALHISTORY]
set
[ACADEMICCATALOGPROGRAMID] = null,
[ACADEMICCATALOGDEGREEID] = null,
[EDUCATIONALINSTITUTIONID] = coalesce(nullif(@EDUCATIONALINSTITUTIONID, '00000000-0000-0000-0000-000000000000'), EH.[EDUCATIONALINSTITUTIONID]),
[ISPRIMARYRECORD] = coalesce(@ISPRIMARYRECORD, EH.[ISPRIMARYRECORD]),
[EDUCATIONALPROGRAMCODEID] = coalesce(nullif(@EDUCATIONALPROGRAMCODEID, '00000000-0000-0000-0000-000000000000'), EH.[EDUCATIONALPROGRAMCODEID]),
[CONSTITUENCYSTATUSCODE] =
case
when nullif(@EDUCATIONALHISTORYREASONCODEID, '00000000-0000-0000-0000-000000000000') is null then
coalesce(nullif(@CONSTITUENCYSTATUSCODE, 0), EH.[CONSTITUENCYSTATUSCODE])
else coalesce(@CONSTITUENCYSTATUSCODE, 0)
end,
[EDUCATIONALHISTORYREASONCODEID] = coalesce(nullif(@EDUCATIONALHISTORYREASONCODEID, '00000000-0000-0000-0000-000000000000'), EH.[EDUCATIONALHISTORYREASONCODEID]),
[EDUCATIONALHISTORYLEVELCODEID] = coalesce(nullif(@EDUCATIONALHISTORYLEVELCODEID, '00000000-0000-0000-0000-000000000000'), EH.[EDUCATIONALHISTORYLEVELCODEID]),
[DATELEFT] = coalesce(nullif(@DATELEFT, '00000000'), EH.[DATELEFT]),
[DATEGRADUATED] = coalesce(nullif(@DATEGRADUATED, '00000000'), EH.[DATEGRADUATED]),
[EDUCATIONALDEGREECODEID] = coalesce(nullif(@EDUCATIONALDEGREECODEID, '00000000-0000-0000-0000-000000000000'), EH.[EDUCATIONALDEGREECODEID]),
[EDUCATIONALAWARDCODEID] = coalesce(nullif(@EDUCATIONALAWARDCODEID, '00000000-0000-0000-0000-000000000000'), EH.[EDUCATIONALAWARDCODEID]),
[STARTDATE] = coalesce(nullif(@STARTDATE, '00000000'), EH.[STARTDATE]),
[CLASSOF] = coalesce(nullif(@CLASSYEAR, '0000'), EH.[CLASSOF]),
[PREFERREDCLASSYEAR] = coalesce(nullif(@PREFERREDCLASSYEAR, '0000'), EH.[PREFERREDCLASSYEAR]),
[EDUCATIONALSOURCECODEID] = coalesce(nullif(@EDUCATIONALSOURCECODEID, '00000000-0000-0000-0000-000000000000'), EH.[EDUCATIONALSOURCECODEID]),
[EDUCATIONALSOURCEDATE] = coalesce(nullif(@EDUCATIONALSOURCEDATE, '00000000'), EH.[EDUCATIONALSOURCEDATE]),
[COMMENT] = coalesce(nullif(@COMMENT, ''), EH.[COMMENT]),
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CURRENTDATE
from
dbo.[EDUCATIONALHISTORY] EH
where
EH.[ID] = @ID;
end
--STATUS
if @EDUCATIONALHISTORYSTATUSID is null
begin
set @EDUCATIONALHISTORYSTATUSID = '00000000-0000-0000-0000-000000000001'
end
if (dbo.UFN_EDUCATIONALHISTORY_CURRENTEDUCATIONALHISTORYSTATUS(@ID) != @EDUCATIONALHISTORYSTATUSID)
begin
insert into dbo.[EDUCATIONALHISTORYSTATUSHISTORY]
(
[EDUCATIONALHISTORYID],
[EDUCATIONALHISTORYSTATUSID],
[STATUSDATE],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
values
(
@ID,
@EDUCATIONALHISTORYSTATUSID,
@CURRENTDATE,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
)
end
--==========================================================
-- Additional information
--==========================================================
if @USEACADEMICCATALOG = 1 and @EDUCATIONALINSTITUTIONISAFFILIATED = 1 begin
declare @AFFILIATEDADDITIONALINFORMATIONTABLE table (
[EDUCATIONADDITIONALINFORMATIONID] uniqueidentifier,
[ACADEMICCATALOGCOLLEGEID] uniqueidentifier,
[ACADEMICCATALOGDIVISIONID] uniqueidentifier,
[ACADEMICCATALOGDEPARTMENTID] uniqueidentifier,
[ACADEMICCATALOGSUBDEPARTMENTID] uniqueidentifier,
[ACADEMICCATALOGDEGREETYPEID] uniqueidentifier
);
insert into @AFFILIATEDADDITIONALINFORMATIONTABLE (
[EDUCATIONADDITIONALINFORMATIONID],
[ACADEMICCATALOGCOLLEGEID],
[ACADEMICCATALOGDIVISIONID],
[ACADEMICCATALOGDEPARTMENTID],
[ACADEMICCATALOGSUBDEPARTMENTID],
[ACADEMICCATALOGDEGREETYPEID]
)
select
AAI.[EDUCATIONADDITIONALINFORMATIONID],
AAI.[ACADEMICCATALOGCOLLEGEID],
AAI.[ACADEMICCATALOGDIVISIONID],
AAI.[ACADEMICCATALOGDEPARTMENTID],
AAI.[ACADEMICCATALOGSUBDEPARTMENTID],
AAI.[ACADEMICCATALOGDEGREETYPEID]
from
dbo.UFN_EDUCATIONALHISTORY_GETAFFILIATEDADDITIONALINFORMATION_FORUPDATEBATCH_FROMITEMLISTXML(@AFFILIATEDADDITIONALINFORMATION) AAI;
update
dbo.[EDUCATIONADDITIONALINFORMATION]
set
[ACADEMICCATALOGCOLLEGEID] =
case
when exists(
select
ACC.ID
from
dbo.ACADEMICCATALOGCOLLEGE ACC
inner join
dbo.ACADEMICCATALOGDEGREE ACD on ACC.ACADEMICCATALOGDEGREEID = ACD.ID
where
ACD.ACADEMICCATALOGPROGRAMID = EH.[ACADEMICCATALOGPROGRAMID]
and ACC.ID = coalesce(nullif(AAIT.ACADEMICCATALOGCOLLEGEID, '00000000-0000-0000-0000-000000000000'), EAI.[ACADEMICCATALOGCOLLEGEID])
) then coalesce(nullif(AAIT.ACADEMICCATALOGCOLLEGEID, '00000000-0000-0000-0000-000000000000'), EAI.[ACADEMICCATALOGCOLLEGEID])
else null
end,
[ACADEMICCATALOGDIVISIONID] =
case
when exists(
select
DIV.ID
from
dbo.ACADEMICCATALOGDIVISION DIV
where
DIV.ACADEMICCATALOGCOLLEGEID =
(
select
ACC.ID
from
dbo.ACADEMICCATALOGCOLLEGE ACC
inner join
dbo.ACADEMICCATALOGDEGREE ACD on ACC.ACADEMICCATALOGDEGREEID = ACD.ID
where
ACD.ACADEMICCATALOGPROGRAMID = EH.[ACADEMICCATALOGPROGRAMID]
and ACC.ID = coalesce(nullif(AAIT.ACADEMICCATALOGCOLLEGEID, '00000000-0000-0000-0000-000000000000'), EAI.[ACADEMICCATALOGCOLLEGEID]))
and DIV.ID = coalesce(nullif(AAIT.ACADEMICCATALOGDIVISIONID, '00000000-0000-0000-0000-000000000000'), EAI.[ACADEMICCATALOGDIVISIONID])
) then coalesce(nullif(AAIT.ACADEMICCATALOGDIVISIONID, '00000000-0000-0000-0000-000000000000'), EAI.[ACADEMICCATALOGDIVISIONID])
else null
end,
[ACADEMICCATALOGDEPARTMENTID] =
case
when exists(
select
DEPT.ID
from
dbo.ACADEMICCATALOGDEPARTMENT DEPT
where
DEPT.ID = coalesce(nullif(AAIT.ACADEMICCATALOGDEPARTMENTID, '00000000-0000-0000-0000-000000000000'), EAI.[ACADEMICCATALOGDEPARTMENTID])
and (DEPT.ACADEMICCATALOGCOLLEGEID =
(
select
ACC.ID
from
dbo.ACADEMICCATALOGCOLLEGE ACC
inner join
dbo.ACADEMICCATALOGDEGREE ACD on ACC.ACADEMICCATALOGDEGREEID = ACD.ID
where
ACD.ACADEMICCATALOGPROGRAMID = EH.[ACADEMICCATALOGPROGRAMID]
and ACC.ID = coalesce(nullif(AAIT.ACADEMICCATALOGCOLLEGEID, '00000000-0000-0000-0000-000000000000'), EAI.[ACADEMICCATALOGCOLLEGEID])
)
or DEPT.ACADEMICCATALOGDIVISIONID =
(
select
DIV.ID
from
dbo.ACADEMICCATALOGDIVISION DIV
inner join
dbo.ACADEMICCATALOGCOLLEGE ACC on ACC.ID = DIV.ACADEMICCATALOGCOLLEGEID
inner join
dbo.ACADEMICCATALOGDEGREE ACD on ACC.ACADEMICCATALOGDEGREEID = ACD.ID
where
ACD.ACADEMICCATALOGPROGRAMID = EH.[ACADEMICCATALOGPROGRAMID]
and ACC.ID = coalesce(nullif(AAIT.ACADEMICCATALOGCOLLEGEID, '00000000-0000-0000-0000-000000000000'), EAI.[ACADEMICCATALOGCOLLEGEID])
and DIV.ID = coalesce(nullif(AAIT.ACADEMICCATALOGDIVISIONID, '00000000-0000-0000-0000-000000000000'), EAI.[ACADEMICCATALOGDIVISIONID])
))
) then coalesce(nullif(AAIT.ACADEMICCATALOGDEPARTMENTID, '00000000-0000-0000-0000-000000000000'), EAI.[ACADEMICCATALOGDEPARTMENTID])
else null
end,
[ACADEMICCATALOGSUBDEPARTMENTID] =
case
when exists(
select
SUB.ID
from
dbo.ACADEMICCATALOGSUBDEPARTMENT SUB
inner join
dbo.ACADEMICCATALOGDEPARTMENT DEPT on DEPT.ID = SUB.ACADEMICCATALOGDEPARTMENTID
where
DEPT.ID = coalesce(nullif(AAIT.ACADEMICCATALOGDEPARTMENTID, '00000000-0000-0000-0000-000000000000'), EAI.[ACADEMICCATALOGDEPARTMENTID])
and (DEPT.ACADEMICCATALOGCOLLEGEID =
(
select
ACC.ID
from
dbo.ACADEMICCATALOGCOLLEGE ACC
inner join
dbo.ACADEMICCATALOGDEGREE ACD on ACC.ACADEMICCATALOGDEGREEID = ACD.ID
where
ACD.ACADEMICCATALOGPROGRAMID = EH.[ACADEMICCATALOGPROGRAMID]
and ACC.ID = coalesce(nullif(AAIT.ACADEMICCATALOGCOLLEGEID, '00000000-0000-0000-0000-000000000000'), EAI.[ACADEMICCATALOGCOLLEGEID])
)
or DEPT.ACADEMICCATALOGDIVISIONID =
(
select
DIV.ID
from
dbo.ACADEMICCATALOGDIVISION DIV
inner join
dbo.ACADEMICCATALOGCOLLEGE ACC on ACC.ID = DIV.ACADEMICCATALOGCOLLEGEID
inner join
dbo.ACADEMICCATALOGDEGREE ACD on ACC.ACADEMICCATALOGDEGREEID = ACD.ID
where
ACD.ACADEMICCATALOGPROGRAMID = EH.[ACADEMICCATALOGPROGRAMID]
and ACC.ID = coalesce(nullif(AAIT.ACADEMICCATALOGCOLLEGEID, '00000000-0000-0000-0000-000000000000'), EAI.[ACADEMICCATALOGCOLLEGEID])
and DIV.ID = coalesce(nullif(AAIT.ACADEMICCATALOGDIVISIONID, '00000000-0000-0000-0000-000000000000'), EAI.[ACADEMICCATALOGDIVISIONID])
))
) then coalesce(nullif(AAIT.ACADEMICCATALOGSUBDEPARTMENTID, '00000000-0000-0000-0000-000000000000'), EAI.[ACADEMICCATALOGSUBDEPARTMENTID])
else null
end,
[ACADEMICCATALOGDEGREETYPEID] =
case
when exists(
select
DT.ID
from
dbo.ACADEMICCATALOGDEGREETYPE DT
where
DT.ID = coalesce(nullif(AAIT.ACADEMICCATALOGDEGREETYPEID, '00000000-0000-0000-0000-000000000000'), EAI.[ACADEMICCATALOGDEGREETYPEID])
and (DT.ACADEMICCATALOGDEPARTMENTID =
(
select
DEPT.ID
from
dbo.ACADEMICCATALOGDEPARTMENT DEPT
where
DEPT.ID = coalesce(nullif(AAIT.ACADEMICCATALOGDEPARTMENTID, '00000000-0000-0000-0000-000000000000'), EAI.[ACADEMICCATALOGDEPARTMENTID])
and (DEPT.ACADEMICCATALOGCOLLEGEID =
(
select
ACC.ID
from
dbo.ACADEMICCATALOGCOLLEGE ACC
inner join
dbo.ACADEMICCATALOGDEGREE ACD on ACC.ACADEMICCATALOGDEGREEID = ACD.ID
where
ACD.ACADEMICCATALOGPROGRAMID = EH.[ACADEMICCATALOGPROGRAMID]
and ACC.ID = coalesce(nullif(AAIT.ACADEMICCATALOGCOLLEGEID, '00000000-0000-0000-0000-000000000000'), EAI.[ACADEMICCATALOGCOLLEGEID])
)
or DEPT.ACADEMICCATALOGDIVISIONID =
(
select
DIV.ID
from
dbo.ACADEMICCATALOGDIVISION DIV
inner join
dbo.ACADEMICCATALOGCOLLEGE ACC on ACC.ID = DIV.ACADEMICCATALOGCOLLEGEID
inner join
dbo.ACADEMICCATALOGDEGREE ACD on ACC.ACADEMICCATALOGDEGREEID = ACD.ID
where
ACD.ACADEMICCATALOGPROGRAMID = EH.[ACADEMICCATALOGPROGRAMID]
and ACC.ID = coalesce(nullif(AAIT.ACADEMICCATALOGCOLLEGEID, '00000000-0000-0000-0000-000000000000'), EAI.[ACADEMICCATALOGCOLLEGEID])
and DIV.ID = coalesce(nullif(AAIT.ACADEMICCATALOGDIVISIONID, '00000000-0000-0000-0000-000000000000'), EAI.[ACADEMICCATALOGDIVISIONID])
))
)
or DT.ACADEMICCATALOGSUBDEPARTMENTID =
(
select
SUB.ID
from
dbo.ACADEMICCATALOGSUBDEPARTMENT SUB
inner join
dbo.ACADEMICCATALOGDEPARTMENT DEPT on DEPT.ID = SUB.ACADEMICCATALOGDEPARTMENTID
where
DEPT.ID = coalesce(nullif(AAIT.ACADEMICCATALOGDEPARTMENTID, '00000000-0000-0000-0000-000000000000'), EAI.[ACADEMICCATALOGDEPARTMENTID])
and SUB.ID = coalesce(nullif(AAIT.ACADEMICCATALOGSUBDEPARTMENTID, '00000000-0000-0000-0000-000000000000'), EAI.[ACADEMICCATALOGSUBDEPARTMENTID])
and (DEPT.ACADEMICCATALOGCOLLEGEID =
(
select
ACC.ID
from
dbo.ACADEMICCATALOGCOLLEGE ACC
inner join
dbo.ACADEMICCATALOGDEGREE ACD on ACC.ACADEMICCATALOGDEGREEID = ACD.ID
where
ACD.ACADEMICCATALOGPROGRAMID = EH.[ACADEMICCATALOGPROGRAMID]
and ACC.ID = coalesce(nullif(AAIT.ACADEMICCATALOGCOLLEGEID, '00000000-0000-0000-0000-000000000000'), EAI.[ACADEMICCATALOGCOLLEGEID])
)
or DEPT.ACADEMICCATALOGDIVISIONID =
(
select
DIV.ID
from
dbo.ACADEMICCATALOGDIVISION DIV
inner join
dbo.ACADEMICCATALOGCOLLEGE ACC on ACC.ID = DIV.ACADEMICCATALOGCOLLEGEID
inner join
dbo.ACADEMICCATALOGDEGREE ACD on ACC.ACADEMICCATALOGDEGREEID = ACD.ID
where
ACD.ACADEMICCATALOGPROGRAMID = EH.[ACADEMICCATALOGPROGRAMID]
and ACC.ID = coalesce(nullif(AAIT.ACADEMICCATALOGCOLLEGEID, '00000000-0000-0000-0000-000000000000'), EAI.[ACADEMICCATALOGCOLLEGEID])
and DIV.ID = coalesce(nullif(AAIT.ACADEMICCATALOGDIVISIONID, '00000000-0000-0000-0000-000000000000'), EAI.[ACADEMICCATALOGDIVISIONID])
))
))
) then coalesce(nullif(AAIT.ACADEMICCATALOGDEGREETYPEID, '00000000-0000-0000-0000-000000000000'), EAI.[ACADEMICCATALOGDEGREETYPEID])
else null
end,
[EDUCATIONALCOLLEGECODEID] = null,
[EDUCATIONALDIVISIONCODEID] = null,
[EDUCATIONALDEPARTMENTCODEID] = null,
[EDUCATIONALSUBDEPARTMENTCODEID] = null,
[EDUCATIONALDEGREETYPECODEID] = null,
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CURRENTDATE
from
@AFFILIATEDADDITIONALINFORMATIONTABLE AAIT
inner join
dbo.[EDUCATIONADDITIONALINFORMATION] EAI
on
AAIT.[EDUCATIONADDITIONALINFORMATIONID] = EAI.[ID] or
(AAIT.[EDUCATIONADDITIONALINFORMATIONID] is null and
EAI.EDUCATIONALHISTORYID = @ID and
(AAIT.[ACADEMICCATALOGCOLLEGEID] = EAI.[ACADEMICCATALOGCOLLEGEID] or (AAIT.[ACADEMICCATALOGCOLLEGEID] is null and EAI.[ACADEMICCATALOGCOLLEGEID] is null)) and
(AAIT.[ACADEMICCATALOGDIVISIONID] = EAI.[ACADEMICCATALOGDIVISIONID] or (AAIT.[ACADEMICCATALOGDIVISIONID] is null and EAI.[ACADEMICCATALOGDIVISIONID] is null)) and
(AAIT.[ACADEMICCATALOGDEPARTMENTID] = EAI.[ACADEMICCATALOGDEPARTMENTID] or (AAIT.[ACADEMICCATALOGDEPARTMENTID] is null and EAI.[ACADEMICCATALOGDEPARTMENTID] is null)) and
(AAIT.[ACADEMICCATALOGSUBDEPARTMENTID] = EAI.[ACADEMICCATALOGSUBDEPARTMENTID] or (AAIT.[ACADEMICCATALOGSUBDEPARTMENTID] is null and EAI.[ACADEMICCATALOGSUBDEPARTMENTID] is null)) and
(AAIT.[ACADEMICCATALOGDEGREETYPEID] = EAI.[ACADEMICCATALOGDEGREETYPEID] or (AAIT.[ACADEMICCATALOGDEGREETYPEID] is null and EAI.[ACADEMICCATALOGDEGREETYPEID] is null)))
inner join
dbo.[EDUCATIONALHISTORY] EH on EH.ID = EAI.EDUCATIONALHISTORYID;
insert into dbo.[EDUCATIONADDITIONALINFORMATION] (
[EDUCATIONALHISTORYID],
[ACADEMICCATALOGCOLLEGEID],
[ACADEMICCATALOGDIVISIONID],
[ACADEMICCATALOGDEPARTMENTID],
[ACADEMICCATALOGSUBDEPARTMENTID],
[ACADEMICCATALOGDEGREETYPEID],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
select
@ID,
AAIT.[ACADEMICCATALOGCOLLEGEID],
AAIT.[ACADEMICCATALOGDIVISIONID],
AAIT.[ACADEMICCATALOGDEPARTMENTID],
AAIT.[ACADEMICCATALOGSUBDEPARTMENTID],
AAIT.[ACADEMICCATALOGDEGREETYPEID],
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
from
@AFFILIATEDADDITIONALINFORMATIONTABLE AAIT
left join
dbo.[EDUCATIONADDITIONALINFORMATION] EAI
on
AAIT.[EDUCATIONADDITIONALINFORMATIONID] = EAI.[ID] or
(AAIT.[EDUCATIONADDITIONALINFORMATIONID] is null and
EAI.EDUCATIONALHISTORYID = @ID and
(AAIT.[ACADEMICCATALOGCOLLEGEID] = EAI.[ACADEMICCATALOGCOLLEGEID] or (AAIT.[ACADEMICCATALOGCOLLEGEID] is null and EAI.[ACADEMICCATALOGCOLLEGEID] is null)) and
(AAIT.[ACADEMICCATALOGDEPARTMENTID] = EAI.[ACADEMICCATALOGDEPARTMENTID] or (AAIT.[ACADEMICCATALOGDEPARTMENTID] is null and EAI.[ACADEMICCATALOGDEPARTMENTID] is null)) and
(AAIT.[ACADEMICCATALOGDIVISIONID] = EAI.[ACADEMICCATALOGDIVISIONID] or (AAIT.[ACADEMICCATALOGDIVISIONID] is null and EAI.[ACADEMICCATALOGDIVISIONID] is null)) and
(AAIT.[ACADEMICCATALOGSUBDEPARTMENTID] = EAI.[ACADEMICCATALOGSUBDEPARTMENTID] or (AAIT.[ACADEMICCATALOGSUBDEPARTMENTID] is null and EAI.[ACADEMICCATALOGSUBDEPARTMENTID] is null)) and
(AAIT.[ACADEMICCATALOGDEGREETYPEID] = EAI.[ACADEMICCATALOGDEGREETYPEID] or (AAIT.[ACADEMICCATALOGDEGREETYPEID] is null and EAI.[ACADEMICCATALOGDEGREETYPEID] is null)))
where
EAI.[ID] is null;
end
else begin
declare @UNAFFILIATEDADDITIONALINFORMATIONTABLE table (
[EDUCATIONADDITIONALINFORMATIONID] uniqueidentifier,
[EDUCATIONALCOLLEGECODEID] uniqueidentifier,
[EDUCATIONALDIVISIONCODEID] uniqueidentifier,
[EDUCATIONALDEPARTMENTCODEID] uniqueidentifier,
[EDUCATIONALSUBDEPARTMENTCODEID] uniqueidentifier,
[EDUCATIONALDEGREETYPECODEID] uniqueidentifier
);
insert into @UNAFFILIATEDADDITIONALINFORMATIONTABLE (
[EDUCATIONADDITIONALINFORMATIONID],
[EDUCATIONALCOLLEGECODEID],
[EDUCATIONALDIVISIONCODEID],
[EDUCATIONALDEPARTMENTCODEID],
[EDUCATIONALSUBDEPARTMENTCODEID],
[EDUCATIONALDEGREETYPECODEID]
)
select
UAI.[EDUCATIONADDITIONALINFORMATIONID],
UAI.[EDUCATIONALCOLLEGECODEID],
UAI.[EDUCATIONALDIVISIONCODEID],
UAI.[EDUCATIONALDEPARTMENTCODEID],
UAI.[EDUCATIONALSUBDEPARTMENTCODEID],
UAI.[EDUCATIONALDEGREETYPECODEID]
from
dbo.UFN_EDUCATIONALHISTORY_GETUNAFFILIATEDADDITIONALINFORMATION_FORUPDATEBATCH_FROMITEMLISTXML(@UNAFFILIATEDADDITIONALINFORMATION) UAI;
update
dbo.[EDUCATIONADDITIONALINFORMATION]
set
[EDUCATIONALCOLLEGECODEID] = coalesce(nullif(UAIT.[EDUCATIONALCOLLEGECODEID], '00000000-0000-0000-0000-000000000000'), EAI.EDUCATIONALCOLLEGECODEID),
[EDUCATIONALDIVISIONCODEID] = coalesce(nullif(UAIT.[EDUCATIONALDIVISIONCODEID], '00000000-0000-0000-0000-000000000000'), EAI.EDUCATIONALDIVISIONCODEID),
[EDUCATIONALDEPARTMENTCODEID] = coalesce(nullif(UAIT.[EDUCATIONALDEPARTMENTCODEID], '00000000-0000-0000-0000-000000000000'), EAI.EDUCATIONALDEPARTMENTCODEID),
[EDUCATIONALSUBDEPARTMENTCODEID] = coalesce(nullif(UAIT.[EDUCATIONALSUBDEPARTMENTCODEID], '00000000-0000-0000-0000-000000000000'), EAI.EDUCATIONALSUBDEPARTMENTCODEID),
[EDUCATIONALDEGREETYPECODEID] = coalesce(nullif(UAIT.[EDUCATIONALDEGREETYPECODEID], '00000000-0000-0000-0000-000000000000'), EAI.EDUCATIONALDEGREETYPECODEID),
[ACADEMICCATALOGCOLLEGEID] = null,
[ACADEMICCATALOGDEPARTMENTID] = null,
[ACADEMICCATALOGDEGREETYPEID] = null,
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CURRENTDATE
from
@UNAFFILIATEDADDITIONALINFORMATIONTABLE UAIT
inner join
dbo.[EDUCATIONADDITIONALINFORMATION] EAI
on
UAIT.[EDUCATIONADDITIONALINFORMATIONID] = EAI.[ID] or
(UAIT.[EDUCATIONADDITIONALINFORMATIONID] is null and
EAI.EDUCATIONALHISTORYID = @ID and
(UAIT.[EDUCATIONALCOLLEGECODEID] = EAI.[EDUCATIONALCOLLEGECODEID] or (UAIT.[EDUCATIONALCOLLEGECODEID] is null and EAI.[EDUCATIONALCOLLEGECODEID] is null)) and
(UAIT.[EDUCATIONALDIVISIONCODEID] = EAI.[EDUCATIONALDIVISIONCODEID] or (UAIT.[EDUCATIONALDIVISIONCODEID] is null and EAI.[EDUCATIONALDIVISIONCODEID] is null)) and
(UAIT.[EDUCATIONALDEPARTMENTCODEID] = EAI.[EDUCATIONALDEPARTMENTCODEID] or (UAIT.[EDUCATIONALDEPARTMENTCODEID] is null and EAI.[EDUCATIONALDEPARTMENTCODEID] is null)) and
(UAIT.[EDUCATIONALSUBDEPARTMENTCODEID] = EAI.[EDUCATIONALSUBDEPARTMENTCODEID] or (UAIT.[EDUCATIONALSUBDEPARTMENTCODEID] is null and EAI.[EDUCATIONALSUBDEPARTMENTCODEID] is null)) and
(UAIT.[EDUCATIONALDEGREETYPECODEID] = EAI.[EDUCATIONALDEGREETYPECODEID] or (UAIT.[EDUCATIONALDEGREETYPECODEID] is null and EAI.[EDUCATIONALDEGREETYPECODEID] is null)));
insert into dbo.[EDUCATIONADDITIONALINFORMATION] (
[EDUCATIONALHISTORYID],
[EDUCATIONALCOLLEGECODEID],
[EDUCATIONALDIVISIONCODEID],
[EDUCATIONALDEPARTMENTCODEID],
[EDUCATIONALSUBDEPARTMENTCODEID],
[EDUCATIONALDEGREETYPECODEID],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
select
@ID,
UAIT.[EDUCATIONALCOLLEGECODEID],
UAIT.[EDUCATIONALDIVISIONCODEID],
UAIT.[EDUCATIONALDEPARTMENTCODEID],
UAIT.[EDUCATIONALSUBDEPARTMENTCODEID],
UAIT.[EDUCATIONALDEGREETYPECODEID],
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
from
@UNAFFILIATEDADDITIONALINFORMATIONTABLE UAIT
left join
dbo.[EDUCATIONADDITIONALINFORMATION] EAI
on
UAIT.[EDUCATIONADDITIONALINFORMATIONID] = EAI.[ID] or
(UAIT.[EDUCATIONADDITIONALINFORMATIONID] is null and
EAI.EDUCATIONALHISTORYID = @ID and
(UAIT.[EDUCATIONALCOLLEGECODEID] = EAI.[EDUCATIONALCOLLEGECODEID] or (UAIT.[EDUCATIONALCOLLEGECODEID] is null and EAI.[EDUCATIONALCOLLEGECODEID] is null)) and
(UAIT.[EDUCATIONALDIVISIONCODEID] = EAI.[EDUCATIONALDIVISIONCODEID] or (UAIT.[EDUCATIONALDIVISIONCODEID] is null and EAI.[EDUCATIONALDIVISIONCODEID] is null)) and
(UAIT.[EDUCATIONALDEPARTMENTCODEID] = EAI.[EDUCATIONALDEPARTMENTCODEID] or (UAIT.[EDUCATIONALDEPARTMENTCODEID] is null and EAI.[EDUCATIONALDEPARTMENTCODEID] is null)) and
(UAIT.[EDUCATIONALSUBDEPARTMENTCODEID] = EAI.[EDUCATIONALSUBDEPARTMENTCODEID] or (UAIT.[EDUCATIONALSUBDEPARTMENTCODEID] is null and EAI.[EDUCATIONALSUBDEPARTMENTCODEID] is null)) and
(UAIT.[EDUCATIONALDEGREETYPECODEID] = EAI.[EDUCATIONALDEGREETYPECODEID] or (UAIT.[EDUCATIONALDEGREETYPECODEID] is null and EAI.[EDUCATIONALDEGREETYPECODEID] is null)))
where
EAI.[ID] is null;
end
--==========================================================
-- Educational involvements
--==========================================================
declare @EDUCATIONALINVOLVEMENTSTABLE table (
[EDUCATIONALINVOLVEMENTID] uniqueidentifier,
[EDUCATIONALINVOLVEMENTTYPECODEID] uniqueidentifier,
[EDUCATIONALINVOLVEMENTNAMEID] uniqueidentifier,
[DATEFROM] dbo.UDT_FUZZYDATE,
[DATETO] dbo.UDT_FUZZYDATE,
[EDUCATIONALINVOLVEMENTAWARDCODEID] uniqueidentifier,
[COMMENT] nvarchar(500),
[POSITION] nvarchar(256)
);
insert into @EDUCATIONALINVOLVEMENTSTABLE (
[EDUCATIONALINVOLVEMENTID],
[EDUCATIONALINVOLVEMENTTYPECODEID],
[EDUCATIONALINVOLVEMENTNAMEID],
[DATEFROM],
[DATETO],
[EDUCATIONALINVOLVEMENTAWARDCODEID],
[COMMENT],
[POSITION]
)
select
EI.[EDUCATIONALINVOLVEMENTID],
EI.[EDUCATIONALINVOLVEMENTTYPECODEID],
EI.[EDUCATIONALINVOLVEMENTNAMEID],
EI.[DATEFROM],
EI.[DATETO],
EI.[EDUCATIONALINVOLVEMENTAWARDCODEID],
EI.[COMMENT],
EI.[POSITION]
from
dbo.UFN_CONSTITUENT_GETEDUCATIONALINVOLVEMENTS_FORUPDATEBATCH_FROMITEMLISTXML(@EDUCATIONALINVOLVEMENTS) EI;
update
dbo.[EDUCATIONALINVOLVEMENT]
set
[EDUCATIONALINVOLVEMENTTYPECODEID] = coalesce(nullif(EIT.[EDUCATIONALINVOLVEMENTTYPECODEID], '00000000-0000-0000-0000-000000000000'), EI.[EDUCATIONALINVOLVEMENTTYPECODEID]),
[EDUCATIONALINVOLVEMENTNAMEID] = coalesce(nullif(EIT.[EDUCATIONALINVOLVEMENTNAMEID], '00000000-0000-0000-0000-000000000000'), EI.[EDUCATIONALINVOLVEMENTNAMEID]),
[DATEFROM] = coalesce(nullif(EIT.[DATEFROM], '00000000'), EI.[DATEFROM]),
[DATETO] = coalesce(nullif(EIT.[DATETO], '00000000'), EI.[DATETO]),
[EDUCATIONALINVOLVEMENTAWARDCODEID] = coalesce(nullif(EIT.[EDUCATIONALINVOLVEMENTAWARDCODEID], '00000000-0000-0000-0000-000000000000'), EI.[EDUCATIONALINVOLVEMENTAWARDCODEID]),
[COMMENT] = coalesce(nullif(EIT.[COMMENT], ''), EI.[COMMENT]),
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CURRENTDATE,
[POSITION] = coalesce(nullif(EIT.[POSITION], ''), EI.[POSITION])
from
@EDUCATIONALINVOLVEMENTSTABLE EIT
inner join
dbo.[EDUCATIONALINVOLVEMENT] EI
on
EIT.[EDUCATIONALINVOLVEMENTID] = EI.[ID] or
(EIT.[EDUCATIONALINVOLVEMENTID] is null and
EI.[CONSTITUENTID] = @CONSTITUENTID and
(EIT.[EDUCATIONALINVOLVEMENTTYPECODEID] = EI.[EDUCATIONALINVOLVEMENTTYPECODEID] or (EIT.[EDUCATIONALINVOLVEMENTTYPECODEID] is null and EI.[EDUCATIONALINVOLVEMENTTYPECODEID] is null)) and
(EIT.[EDUCATIONALINVOLVEMENTNAMEID] = EI.[EDUCATIONALINVOLVEMENTNAMEID] or (EIT.[EDUCATIONALINVOLVEMENTNAMEID] is null and EI.[EDUCATIONALINVOLVEMENTNAMEID] is null)) and
coalesce(EIT.[DATEFROM], '00000000') = coalesce(EI.[DATEFROM], '00000000') and
coalesce(EIT.[DATETO], '00000000') = coalesce(EI.[DATETO], '00000000') and
(EIT.[EDUCATIONALINVOLVEMENTAWARDCODEID] = EI.[EDUCATIONALINVOLVEMENTAWARDCODEID] or (EIT.[EDUCATIONALINVOLVEMENTAWARDCODEID] is null and EI.[EDUCATIONALINVOLVEMENTAWARDCODEID] is null)));
insert into dbo.[EDUCATIONALINVOLVEMENT] (
[CONSTITUENTID],
[EDUCATIONALINSTITUTIONID],
[EDUCATIONALINVOLVEMENTTYPECODEID],
[EDUCATIONALINVOLVEMENTNAMEID],
[DATEFROM],
[DATETO],
[EDUCATIONALINVOLVEMENTAWARDCODEID],
[COMMENT],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED],
[POSITION]
)
select
@CONSTITUENTID,
@EDUCATIONALINSTITUTIONID,
EIT.[EDUCATIONALINVOLVEMENTTYPECODEID],
EIT.[EDUCATIONALINVOLVEMENTNAMEID],
coalesce(EIT.[DATEFROM], '00000000'),
coalesce(EIT.[DATETO], '00000000'),
EIT.[EDUCATIONALINVOLVEMENTAWARDCODEID],
coalesce(EIT.[COMMENT], ''),
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE,
coalesce(EIT.POSITION, '')
from
@EDUCATIONALINVOLVEMENTSTABLE EIT
left join
dbo.[EDUCATIONALINVOLVEMENT] EI
on
EIT.[EDUCATIONALINVOLVEMENTID] = EI.[ID] or
(EIT.[EDUCATIONALINVOLVEMENTID] is null and
EI.[CONSTITUENTID] = @CONSTITUENTID and
(EIT.[EDUCATIONALINVOLVEMENTTYPECODEID] = EI.[EDUCATIONALINVOLVEMENTTYPECODEID] or (EIT.[EDUCATIONALINVOLVEMENTTYPECODEID] is null and EI.[EDUCATIONALINVOLVEMENTTYPECODEID] is null)) and
(EIT.[EDUCATIONALINVOLVEMENTNAMEID] = EI.[EDUCATIONALINVOLVEMENTNAMEID] or (EIT.[EDUCATIONALINVOLVEMENTNAMEID] is null and EI.[EDUCATIONALINVOLVEMENTNAMEID] is null)) and
coalesce(EIT.[DATEFROM], '00000000') = coalesce(EI.[DATEFROM], '00000000') and
coalesce(EIT.[DATETO], '00000000') = coalesce(EI.[DATETO], '00000000') and
(EIT.[EDUCATIONALINVOLVEMENTAWARDCODEID] = EI.[EDUCATIONALINVOLVEMENTAWARDCODEID] or (EIT.[EDUCATIONALINVOLVEMENTAWARDCODEID] is null and EI.[EDUCATIONALINVOLVEMENTAWARDCODEID] is null)))
where
EI.[ID] is null;
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;