USP_DATAFORMTEMPLATE_ADD_BATCHEDUCATIONALHISTORYUPDATEBATCHROW
The save procedure used by the add dataform template "Educational History Update Batch Row Add Form".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | The output parameter indicating the ID of the record added. |
@BATCHID | uniqueidentifier | IN | Input parameter indicating the context ID for the record being added. |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the procedure. |
@SEQUENCE | int | IN | Sequence |
@PRIMARYRECORDID | uniqueidentifier | IN | Educational history |
@PRIMARYCONTEXTRECORDID | uniqueidentifier | IN | Constituent |
@CONSTITUENTLOOKUPID | nvarchar(100) | IN | Lookup ID |
@CONSTITUENTKEYNAME | nvarchar(100) | IN | Last name |
@CONSTITUENTFIRSTNAME | nvarchar(50) | IN | 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_ADD_BATCHEDUCATIONALHISTORYUPDATEBATCHROW(
@ID uniqueidentifier = null output,
@BATCHID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier,
@SEQUENCE int,
@PRIMARYRECORDID uniqueidentifier = null,
@PRIMARYCONTEXTRECORDID uniqueidentifier = null,
@CONSTITUENTLOOKUPID nvarchar(100) = '',
@CONSTITUENTKEYNAME nvarchar(100) = '',
@CONSTITUENTFIRSTNAME nvarchar(50) = '',
@EDUCATIONALINSTITUTIONID uniqueidentifier = null,
@EDUCATIONALINSTITUTIONNAME nvarchar(100) = '',
@EDUCATIONALINSTITUTIONFICECODE nvarchar(50) = '',
@EDUCATIONALINSTITUTIONCOUNTRYID uniqueidentifier = null,
@EDUCATIONALINSTITUTIONCITY nvarchar(150) = '',
@EDUCATIONALINSTITUTIONSTATEID uniqueidentifier = null,
@ISPRIMARYRECORD bit = 0,
@ACADEMICCATALOGPROGRAMID uniqueidentifier = null,
@EDUCATIONALPROGRAMCODEID uniqueidentifier = null,
@CONSTITUENCYSTATUSCODE tinyint = 0,
@EDUCATIONALHISTORYREASONCODEID uniqueidentifier = null,
@EDUCATIONALHISTORYLEVELCODEID uniqueidentifier = null,
@DATELEFT dbo.UDT_FUZZYDATE = '00000000',
@DATEGRADUATED dbo.UDT_FUZZYDATE = '00000000',
@ACADEMICCATALOGDEGREEID uniqueidentifier = null,
@EDUCATIONALDEGREECODEID uniqueidentifier = null,
@EDUCATIONALAWARDCODEID uniqueidentifier = null,
@STARTDATE dbo.UDT_FUZZYDATE = '00000000',
@CLASSYEAR dbo.UDT_YEAR = 0,
@PREFERREDCLASSYEAR dbo.UDT_YEAR = 0,
@EDUCATIONALSOURCECODEID uniqueidentifier = null,
@EDUCATIONALSOURCEDATE dbo.UDT_FUZZYDATE = '00000000',
@COMMENT nvarchar(500) = '',
@AFFILIATEDADDITIONALINFORMATION xml = null,
@UNAFFILIATEDADDITIONALINFORMATION xml = null,
@EDUCATIONALINVOLVEMENTS xml = null,
@EDUCATIONALHISTORYSTATUSID uniqueidentifier = null
) as
set nocount on;
declare @CURRENTDATE datetime;
if @ID is null
set @ID = newid();
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
set @CURRENTDATE = getdate();
if exists (select ID from dbo.EDUCATIONALHISTORY where ID = @PRIMARYRECORDID)
select
@PRIMARYCONTEXTRECORDID = EDUCATIONALHISTORY.CONSTITUENTID,
@CONSTITUENTLOOKUPID = CONSTITUENT.LOOKUPID,
@CONSTITUENTKEYNAME = CONSTITUENT.KEYNAME,
@CONSTITUENTFIRSTNAME = CONSTITUENT.FIRSTNAME,
@EDUCATIONALINSTITUTIONID = isnull(@EDUCATIONALINSTITUTIONID, EDUCATIONALHISTORY.EDUCATIONALINSTITUTIONID),
@EDUCATIONALPROGRAMCODEID = isnull(@EDUCATIONALPROGRAMCODEID, EDUCATIONALHISTORY.EDUCATIONALPROGRAMCODEID),
@EDUCATIONALDEGREECODEID = isnull(@EDUCATIONALDEGREECODEID, EDUCATIONALHISTORY.EDUCATIONALDEGREECODEID)
from
dbo.EDUCATIONALHISTORY
inner join dbo.CONSTITUENT on CONSTITUENT.ID = EDUCATIONALHISTORY.CONSTITUENTID
inner join dbo.EDUCATIONALINSTITUTION as INSTITUTION on EDUCATIONALHISTORY.EDUCATIONALINSTITUTIONID = INSTITUTION.ID
where
EDUCATIONALHISTORY.ID = @PRIMARYRECORDID
declare @MATCHINGCONSTITUENTCOUNT smallint
select @MATCHINGCONSTITUENTCOUNT = count(ID) from dbo.UFN_CONSTITUENT_GETIDSFROMCRITERIA( @PRIMARYCONTEXTRECORDID, @CONSTITUENTLOOKUPID, @CONSTITUENTKEYNAME, @CONSTITUENTFIRSTNAME, 500)
if @MATCHINGCONSTITUENTCOUNT = 1 begin
select top(1) @PRIMARYCONTEXTRECORDID = ID from dbo.UFN_CONSTITUENT_GETIDSFROMCRITERIA( @PRIMARYCONTEXTRECORDID, @CONSTITUENTLOOKUPID, @CONSTITUENTKEYNAME, @CONSTITUENTFIRSTNAME, 500)
end
begin try
insert into dbo.BATCHEDUCATIONALHISTORYUPDATE(
[ID],
[BATCHID],
[SEQUENCE],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED],
[PRIMARYRECORDID],
[PRIMARYCONTEXTRECORDID],
[CONSTITUENTLOOKUPID],
[CONSTITUENTKEYNAME],
[CONSTITUENTFIRSTNAME],
[EDUCATIONALINSTITUTIONID],
[EDUCATIONALINSTITUTIONNAME],
[EDUCATIONALINSTITUTIONFICECODE],
[EDUCATIONALINSTITUTIONCOUNTRYID],
[EDUCATIONALINSTITUTIONCITY],
[EDUCATIONALINSTITUTIONSTATEID],
[ISPRIMARYRECORD],
[ACADEMICCATALOGPROGRAMID],
[EDUCATIONALPROGRAMCODEID],
[CONSTITUENCYSTATUSCODE],
[EDUCATIONALHISTORYREASONCODEID],
[EDUCATIONALHISTORYLEVELCODEID],
[DATELEFT],
[DATEGRADUATED],
[ACADEMICCATALOGDEGREEID],
[EDUCATIONALDEGREECODEID],
[EDUCATIONALAWARDCODEID],
[STARTDATE],
[CLASSYEAR],
[PREFERREDCLASSYEAR],
[EDUCATIONALSOURCECODEID],
[EDUCATIONALSOURCEDATE],
[COMMENT],
[EDUCATIONALHISTORYSTATUSID]) values (
@ID,
@BATCHID,
@SEQUENCE,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE,
@PRIMARYRECORDID,
@PRIMARYCONTEXTRECORDID,
coalesce(@CONSTITUENTLOOKUPID, ''),
coalesce(@CONSTITUENTKEYNAME, ''),
coalesce(@CONSTITUENTFIRSTNAME, ''),
@EDUCATIONALINSTITUTIONID,
coalesce(@EDUCATIONALINSTITUTIONNAME, ''),
coalesce(@EDUCATIONALINSTITUTIONFICECODE, ''),
@EDUCATIONALINSTITUTIONCOUNTRYID,
coalesce(@EDUCATIONALINSTITUTIONCITY, ''),
@EDUCATIONALINSTITUTIONSTATEID,
coalesce(@ISPRIMARYRECORD, 0),
@ACADEMICCATALOGPROGRAMID,
@EDUCATIONALPROGRAMCODEID,
coalesce(@CONSTITUENCYSTATUSCODE, 0),
@EDUCATIONALHISTORYREASONCODEID,
@EDUCATIONALHISTORYLEVELCODEID,
coalesce(@DATELEFT, '00000000'),
coalesce(@DATEGRADUATED, '00000000'),
@ACADEMICCATALOGDEGREEID,
@EDUCATIONALDEGREECODEID,
@EDUCATIONALAWARDCODEID,
coalesce(@STARTDATE, '00000000'),
coalesce(@CLASSYEAR, 0),
coalesce(@PREFERREDCLASSYEAR, 0),
@EDUCATIONALSOURCECODEID,
coalesce(@EDUCATIONALSOURCEDATE, '00000000'),
coalesce(@COMMENT, ''),
coalesce(@EDUCATIONALHISTORYSTATUSID,'00000000-0000-0000-0000-000000000001')
);
exec dbo.USP_BATCHEDUCATIONALHISTORYUPDATE_GETAFFILIATEDADDITIONALINFORMATION_ADDFROMXML @ID, @AFFILIATEDADDITIONALINFORMATION, @CHANGEAGENTID
exec dbo.USP_BATCHEDUCATIONALHISTORYUPDATE_GETUNAFFILIATEDADDITIONALINFORMATION_ADDFROMXML @ID, @UNAFFILIATEDADDITIONALINFORMATION, @CHANGEAGENTID
insert into dbo.BATCHEDUCATIONALHISTORYUPDATEEDUCATIONALINVOLVEMENTS(
BATCHEDUCATIONALHISTORYUPDATEID,
EDUCATIONALINVOLVEMENTID,
EDUCATIONALINVOLVEMENTTYPECODEID,
EDUCATIONALINVOLVEMENTNAMEID,
DATEFROM,
DATETO,
EDUCATIONALINVOLVEMENTAWARDCODEID,
COMMENT,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED,
POSITION
)
select
@ID,
EDUCATIONALINVOLVEMENTID,
EDUCATIONALINVOLVEMENTTYPECODEID,
EDUCATIONALINVOLVEMENTNAMEID,
coalesce(DATEFROM, '00000000'),
coalesce(DATETO, '00000000'),
EDUCATIONALINVOLVEMENTAWARDCODEID,
coalesce(COMMENT, ''),
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE,
POSITION
from
dbo.UFN_BATCHEDUCATIONALHISTORYUPDATE_GETEDUCATIONALINVOLVEMENTS_FROMITEMLISTXML(@EDUCATIONALINVOLVEMENTS)
if @MATCHINGCONSTITUENTCOUNT > 1 begin
insert into dbo.BATCHEDUCATIONALHISTORYUPDATEBATCHSYSTEMMESSAGE
(
ID, MESSAGETEXT, MESSAGETYPECODE, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED
)
values
(
@ID, 'The ID for this constituent matches multiple records.', 0, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE
)
end
else if @MATCHINGCONSTITUENTCOUNT = 0 begin
insert into dbo.BATCHEDUCATIONALHISTORYUPDATEBATCHSYSTEMMESSAGE
(
ID, MESSAGETEXT, MESSAGETYPECODE, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED
)
values
(
@ID, 'The ID for this constituent does not match any records.', 0, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE
)
end
end try
begin catch
exec.dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;