Moving From Social Moving From Social Security NumbersSecurity Numbers
Rickey Creel and Rickey Creel and Phillip BrooksPhillip Brooks
The following code is provided "as-is" with no warranty, guarantee or any other promise.
WhyWhy WhenWhen WhatWhat HowHow QuestionsQuestions
WhyWhy
WhyWhy
The Federal Trade Commission (FTC) requires that The Federal Trade Commission (FTC) requires that all financial institutions establish policies and all financial institutions establish policies and procedures for safeguarding customer financial procedures for safeguarding customer financial information. This mandate requires that information. This mandate requires that Educational Entities, as financial institutions, must Educational Entities, as financial institutions, must comply with the Gramm-Leach-Bliley Act (GLBA). comply with the Gramm-Leach-Bliley Act (GLBA). This legislation is composed of several parts, This legislation is composed of several parts, including: the Privacy Rule and the Safeguards including: the Privacy Rule and the Safeguards Rule. The FTC has ruled that being in compliance Rule. The FTC has ruled that being in compliance with the Family Educational Rights and Privacy Act with the Family Educational Rights and Privacy Act (FERPA) satisfies the privacy requirement of the (FERPA) satisfies the privacy requirement of the GLBA. However, there is no similar exception for GLBA. However, there is no similar exception for the Safeguards Rule. Meridian Community College the Safeguards Rule. Meridian Community College must comply with the Safeguards Rule. must comply with the Safeguards Rule.
WhyWhy
Ensure the security and confidentiality Ensure the security and confidentiality of customer records and informationof customer records and information
Protect against any anticipated threats Protect against any anticipated threats to the security or integrity of such to the security or integrity of such recordsrecords
Protect against unauthorized access to, Protect against unauthorized access to, or use of, such records or information or use of, such records or information that could result in substantial harm or that could result in substantial harm or inconvenience to any customerinconvenience to any customer
WhenWhen
WhenWhen
Institutions must implement an Institutions must implement an information security program no later information security program no later than May 23, 2003than May 23, 2003
WhatWhat
Social Security NumbersSocial Security Numbers Employee applications, transcripts, Employee applications, transcripts,
copies of driver’s licenses and social copies of driver’s licenses and social security cardssecurity cards
Employee contractsEmployee contracts Credit card formsCredit card forms Class rolls, attendance sheets Class rolls, attendance sheets
WhatWhat
Test resultsTest results Discipline recordsDiscipline records Housing recordsHousing records Transcripts and applicationsTranscripts and applications Student statements Student statements Credit card requestsCredit card requests Income and tax documentsIncome and tax documents
WhatWhat
Birth certificates, marriage licensesBirth certificates, marriage licenses Criminal background check dataCriminal background check data Drug screen resultsDrug screen results Child abuse registry checks and Child abuse registry checks and
finger print cardsfinger print cards
ProblemsProblems
Physical security – many areas which Physical security – many areas which have access to critical information are have access to critical information are open to the public and not secured by open to the public and not secured by doorsdoors
Student workersStudent workers Shredding access is limitedShredding access is limited Open verbal exchange of restricted Open verbal exchange of restricted
informationinformation
ProblemsProblems
PC’s with access to Banner left PC’s with access to Banner left unattendedunattended
Social Security numbers are used for Social Security numbers are used for IDID
HowHow
HowHow
Employee trainingEmployee training Provide adequate shredders in all Provide adequate shredders in all
areasareas Change ID to generated IDChange ID to generated ID
ProblemsProblems
ProblemsProblems
AdmissionsAdmissions
ProblemsProblems
ID SystemID System
ProblemsProblems
PayrollPayroll
ProblemsProblems
Meal PlansMeal Plans
ProblemsProblems
Library SystemLibrary System
ProblemsProblems
RecordsRecords
ProblemsProblems
When to make the changeWhen to make the change
Spriden ID ChangeSpriden ID Change
Spriden ID ChangeSpriden ID Change Change Current Social Security Number ID’s Change Current Social Security Number ID’s
to Portal ID’sto Portal ID’s
Spriden ID ChangeSpriden ID Change Change Current Social Security Number ID’s Change Current Social Security Number ID’s
to Portal ID’sto Portal ID’s Change non Social security ID’s to a Change non Social security ID’s to a
generated ID’sgenerated ID’s
Spriden ID ChangeSpriden ID Change Change Current Social Security Number ID’s Change Current Social Security Number ID’s
to Portal ID’sto Portal ID’s Change non Social security ID’s to a Change non Social security ID’s to a
generated ID’sgenerated ID’s Convert Current Generated ID’s from “@” ID’s Convert Current Generated ID’s from “@” ID’s
to “M” ID’sto “M” ID’s
Spriden ID ChangeSpriden ID Change Change Current Social Security Number ID’s Change Current Social Security Number ID’s
to Portal ID’sto Portal ID’s Change non Social security ID’s to a Change non Social security ID’s to a
generated ID’sgenerated ID’s Convert Current Generated ID’s from “@” ID’s Convert Current Generated ID’s from “@” ID’s
to “M” ID’sto “M” ID’s Update Banner to use a “M” for generated Update Banner to use a “M” for generated
ID’s in the FutureID’s in the Future
Spriden ID ChangeSpriden ID Change Change Current Social Security Number ID’s Change Current Social Security Number ID’s
to Portal ID’sto Portal ID’s Change non Social security ID’s to a Change non Social security ID’s to a
generated ID’sgenerated ID’s Convert Current Generated ID’s from “@” ID’s Convert Current Generated ID’s from “@” ID’s
to “M” ID’sto “M” ID’s Update Banner to use a “M” for generated Update Banner to use a “M” for generated
ID’s in the FutureID’s in the Future Create TriggersCreate Triggers
Spriden ID ChangeSpriden ID Change Change Current Social Security Number ID’s Change Current Social Security Number ID’s
to Portal ID’sto Portal ID’s Change non Social security ID’s to a Change non Social security ID’s to a
generated ID’sgenerated ID’s Convert Current Generated ID’s from “@” ID’s Convert Current Generated ID’s from “@” ID’s
to “M” ID’sto “M” ID’s Update Banner to use a “M” for generated Update Banner to use a “M” for generated
ID’s in the FutureID’s in the Future Create TriggersCreate Triggers Banner ExamplesBanner Examples
Spriden ID ChangeSpriden ID Change Change Current Social Security Number ID’s Change Current Social Security Number ID’s
to Portal ID’sto Portal ID’s Change non Social security ID’s to a Change non Social security ID’s to a
generated ID’sgenerated ID’s Convert Current Generated ID’s from “@” ID’s Convert Current Generated ID’s from “@” ID’s
to “M” ID’sto “M” ID’s Update Banner to use a “M” for generated Update Banner to use a “M” for generated
ID’s in the FutureID’s in the Future Create TriggersCreate Triggers Banner ExamplesBanner Examples Change form for persons not receiving a Change form for persons not receiving a
Portal IDPortal ID
Change Current Social Security Change Current Social Security Number ID’s to Portal ID’sNumber ID’s to Portal ID’s
DECLAREDECLAREv_stu_pidm gobtpac.gobtpac_pidm%v_stu_pidm gobtpac.gobtpac_pidm%TYPETYPE;;v_stu_ext_id gobtpac.gobtpac_external_user%v_stu_ext_id gobtpac.gobtpac_external_user%TYPETYPE;;v_stu_spr_id spriden.spriden_id%v_stu_spr_id spriden.spriden_id%TYPETYPE;;
cursorcursor W_stuid W_stuid ISISSELECTSELECT A.GOBTPAC_PIDM, A.GOBTPAC_PIDM, UPPER(substr(a.gobtpac_external_user,1,9)), UPPER(substr(a.gobtpac_external_user,1,9)), spriden_id spriden_id FROMFROM gobtpac A, spriden gobtpac A, spriden WHEREWHERE A.GOBTPAC_PIDM = spriden_pidm A.GOBTPAC_PIDM = spriden_pidm ANDAND spriden_id <> UPPER(substr(a.gobtpac_external_user,1,9)) spriden_id <> UPPER(substr(a.gobtpac_external_user,1,9)) ANDAND spriden_change_ind spriden_change_ind ISIS NULLNULL ANDAND (spriden_id = &upd_spriden_id (spriden_id = &upd_spriden_id OROR &upd_spriden_id = 'ALL') &upd_spriden_id = 'ALL')ORDERORDER BYBY spriden_id; spriden_id;
BEGINBEGIN OPENOPEN W_stuid; W_stuid; LOOPLOOP FETCHFETCH W_stuid W_stuid INTOINTO v_stu_pidm, v_stu_ext_id, v_stu_spr_id; v_stu_pidm, v_stu_ext_id, v_stu_spr_id; INSERTINSERT INTOINTO spriden spriden ( (SELECTSELECT cpy.spriden_pidm, cpy.spriden_pidm, v_stu_ext_id, v_stu_ext_id, cpy.spriden_last_name, cpy.spriden_last_name, cpy.spriden_first_name, cpy.spriden_first_name, cpy.spriden_mi, cpy.spriden_mi, NULLNULL,, cpy.spriden_entity_ind, cpy.spriden_entity_ind, SYSDATESYSDATE,, 'IDCONVCP', 'IDCONVCP', 'SPAIDEN', 'SPAIDEN', cpy.spriden_search_last_name, cpy.spriden_search_last_name, cpy.spriden_search_first_name, cpy.spriden_search_first_name, cpy.spriden_search_mi, cpy.spriden_search_mi, cpy.spriden_soundex_last_name, cpy.spriden_soundex_last_name, cpy.spriden_soundex_first_name, cpy.spriden_soundex_first_name, cpy.spriden_ntyp_code, cpy.spriden_ntyp_code, 'idconvcp', 'idconvcp', SYSDATESYSDATE,, cpy.spriden_data_origin cpy.spriden_data_origin FROMFROM spriden cpy spriden cpy wherewhere cpy.spriden_pidm = v_stu_pidm cpy.spriden_pidm = v_stu_pidm ANDAND cpy.spriden_change_ind cpy.spriden_change_ind ISIS NULLNULL);); COMMITCOMMIT;; updateupdate spriden a spriden a setset a.spriden_change_ind = 'I' a.spriden_change_ind = 'I' wherewhere a.spriden_pidm = v_stu_pidm a.spriden_pidm = v_stu_pidm ANDAND a.spriden_id = v_stu_spr_id a.spriden_id = v_stu_spr_id ANDAND spriden_change_ind spriden_change_ind ISIS NULLNULL;; COMMITCOMMIT;; EXITEXIT WHENWHEN W_stuid% W_stuid%NOTFOUNDNOTFOUND;; ENDEND LOOPLOOP; ; -- wstuid-- wstuid CLOSECLOSE W_stuid; W_stuid; COMMITCOMMIT;;ENDEND; ;
The following code is provided "as-is" with no warranty, guarantee or any other promise.
Change non Social security ID’s Change non Social security ID’s to a generated ID’sto a generated ID’s
DECLAREDECLAREv_stu_pidm spriden.spriden_pidm%v_stu_pidm spriden.spriden_pidm%TYPETYPE;;v_stu_ext_id spriden.spriden_id%v_stu_ext_id spriden.spriden_id%TYPETYPE;;v_stu_spr_id spriden.spriden_id%v_stu_spr_id spriden.spriden_id%TYPETYPE;;
cursorcursor W_stuid W_stuid ISISSELECTSELECT a.spriden_pidm, a.spriden_pidm, a.spriden_id a.spriden_id FROMFROM spriden a spriden a WHEREWHERE substr(a.spriden_id,1,1) substr(a.spriden_id,1,1) ININ ('1','2','3','4','5','6','7','8','9','0',' ') ('1','2','3','4','5','6','7','8','9','0',' ') ANDAND spriden_change_ind spriden_change_ind ISIS NULLNULL ANDAND (spriden_id = &upd_spriden_id (spriden_id = &upd_spriden_id OROR &upd_spriden_id = 'ALL') &upd_spriden_id = 'ALL') ORDERORDER BYBY a.spriden_id; a.spriden_id;
cursorcursor W_gen_id W_gen_id ISISSELECTSELECT 'M'||lpad(seqt.sobseqn_maxseqno + 1,8,0) 'M'||lpad(seqt.sobseqn_maxseqno + 1,8,0) INTOINTO v_stu_ext_id v_stu_ext_id FROMFROM sobseqn seqt sobseqn seqt WHEREWHERE seqt.sobseqn_function = 'ID'; seqt.sobseqn_function = 'ID';BEGINBEGIN LOOPLOOP OPENOPEN W_stuid; W_stuid; FETCHFETCH W_stuid W_stuid INTOINTO v_stu_pidm, v_stu_spr_id; v_stu_pidm, v_stu_spr_id; EXITEXIT WHENWHEN W_stuid% W_stuid%NOTFOUNDNOTFOUND;; OPENOPEN w_gen_id; w_gen_id; FETCHFETCH W_gen_id W_gen_id INTOINTO v_stu_ext_id; v_stu_ext_id; CLOSECLOSE w_gen_id; w_gen_id; UPDATEUPDATE sobseqn seqt2 sobseqn seqt2 SETSET seqt2.sobseqn_maxseqno = seqt2.sobseqn_maxseqno + 1 seqt2.sobseqn_maxseqno = seqt2.sobseqn_maxseqno + 1 WHEREWHERE seqt2.sobseqn_function = 'ID'; seqt2.sobseqn_function = 'ID'; COMMITCOMMIT;; INSERTINSERT INTOINTO spriden spriden ( (SELECTSELECT cpy.spriden_pidm, cpy.spriden_pidm, v_stu_ext_id, v_stu_ext_id, cpy.spriden_last_name, cpy.spriden_last_name, cpy.spriden_first_name, cpy.spriden_first_name, cpy.spriden_mi, cpy.spriden_mi, NULLNULL,, cpy.spriden_entity_ind, cpy.spriden_entity_ind, SYSDATESYSDATE,, 'IDCONVCP', 'IDCONVCP', 'SPAIDEN', 'SPAIDEN', cpy.spriden_search_last_name, cpy.spriden_search_last_name, cpy.spriden_search_first_name, cpy.spriden_search_first_name, cpy.spriden_search_mi, cpy.spriden_search_mi, cpy.spriden_soundex_last_name, cpy.spriden_soundex_last_name, cpy.spriden_soundex_first_name, cpy.spriden_soundex_first_name, cpy.spriden_ntyp_code, cpy.spriden_ntyp_code, 'idconvcp', 'idconvcp', SYSDATESYSDATE,, cpy.spriden_data_origin cpy.spriden_data_origin FROMFROM spriden cpy spriden cpy wherewhere cpy.spriden_pidm = v_stu_pidm cpy.spriden_pidm = v_stu_pidm ANDAND cpy.spriden_change_ind cpy.spriden_change_ind ISIS NULLNULL);); COMMITCOMMIT;; updateupdate spriden a spriden a setset a.spriden_change_ind = 'I' a.spriden_change_ind = 'I' wherewhere a.spriden_pidm = v_stu_pidm a.spriden_pidm = v_stu_pidm ANDAND a.spriden_id = v_stu_spr_id a.spriden_id = v_stu_spr_id ANDAND spriden_change_ind spriden_change_ind ISIS NULLNULL;; COMMITCOMMIT;; EXITEXIT WHENWHEN W_stuid% W_stuid%NOTFOUNDNOTFOUND;; CLOSECLOSE W_stuid; W_stuid; ENDEND LOOPLOOP; ; -- wstuid-- wstuidENDEND; ;
The following code is provided "as-is" with no warranty, guarantee or any other promise.
Convert Current Generated Convert Current Generated ID’s from “@” ID’s to “M” ID’sID’s from “@” ID’s to “M” ID’s
DECLAREDECLAREv_stu_pidm gobtpac.gobtpac_pidm%v_stu_pidm gobtpac.gobtpac_pidm%TYPETYPE;;v_stu_ext_id spriden.spriden_id%v_stu_ext_id spriden.spriden_id%TYPETYPE;;v_stu_spr_id spriden.spriden_id%v_stu_spr_id spriden.spriden_id%TYPETYPE;;
cursorcursor W_stuid W_stuid ISISSELECTSELECT a.spriden_pidm, a.spriden_pidm, a.spriden_id, a.spriden_id, 'M'||SUBSTR(A.SPRIDEN_ID,2,8) 'M'||SUBSTR(A.SPRIDEN_ID,2,8) FROMFROM spriden a spriden a WHEREWHERE substr(a.spriden_id,1,1) = '@' substr(a.spriden_id,1,1) = '@' ANDAND spriden_change_ind spriden_change_ind ISIS NULLNULL ANDAND (spriden_id = &upd_spriden_id (spriden_id = &upd_spriden_id OROR &upd_spriden_id = 'ALL'); &upd_spriden_id = 'ALL');
BEGINBEGIN OPENOPEN W_stuid; W_stuid; LOOPLOOP FETCHFETCH W_stuid W_stuid INTOINTO v_stu_pidm, v_stu_spr_id, v_stu_ext_id; v_stu_pidm, v_stu_spr_id, v_stu_ext_id; EXITEXIT WHENWHEN W_stuid% W_stuid%NOTFOUNDNOTFOUND;; INSERTINSERT INTOINTO spriden spriden ( (SELECTSELECT cpy.spriden_pidm, cpy.spriden_pidm, 'M'||substr(v_stu_spr_id,2,8), 'M'||substr(v_stu_spr_id,2,8), cpy.spriden_last_name, cpy.spriden_last_name, cpy.spriden_first_name, cpy.spriden_first_name, cpy.spriden_mi, cpy.spriden_mi, NULLNULL,, cpy.spriden_entity_ind, cpy.spriden_entity_ind, SYSDATESYSDATE,, 'IDCONVCP', 'IDCONVCP', 'SPAIDEN', 'SPAIDEN', cpy.spriden_search_last_name, cpy.spriden_search_last_name, cpy.spriden_search_first_name, cpy.spriden_search_first_name, cpy.spriden_search_mi, cpy.spriden_search_mi, cpy.spriden_soundex_last_name, cpy.spriden_soundex_last_name, cpy.spriden_soundex_first_name, cpy.spriden_soundex_first_name, cpy.spriden_ntyp_code, cpy.spriden_ntyp_code, 'idconvcp', 'idconvcp', SYSDATESYSDATE,, cpy.spriden_data_origin cpy.spriden_data_origin FROMFROM spriden cpy spriden cpy wherewhere cpy.spriden_pidm = v_stu_pidm cpy.spriden_pidm = v_stu_pidm ANDAND cpy.spriden_change_ind cpy.spriden_change_ind ISIS NULLNULL);); COMMITCOMMIT;; updateupdate spriden a spriden a setset a.spriden_change_ind = 'I' a.spriden_change_ind = 'I' wherewhere a.spriden_pidm = v_stu_pidm a.spriden_pidm = v_stu_pidm ANDAND a.spriden_id = v_stu_spr_id a.spriden_id = v_stu_spr_id ANDAND spriden_change_ind spriden_change_ind ISIS NULLNULL;; COMMITCOMMIT;; EXITEXIT WHENWHEN W_stuid% W_stuid%NOTFOUNDNOTFOUND;; ENDEND LOOPLOOP; ; -- wstuid-- wstuid CLOSECLOSE W_stuid; W_stuid;ENDEND; ;
The following code is provided "as-is" with no warranty, guarantee or any other promise.
Update Banner to use a “M” for Update Banner to use a “M” for generated ID’s in the Futuregenerated ID’s in the Future
UPDATEUPDATE sobseqn seqt sobseqn seqt SETSET seqt.sobseqn_seqno_prefix = seqt.sobseqn_seqno_prefix = 'M''M' WHEREWHERE seqt.sobseqn_function = seqt.sobseqn_function = 'ID''ID'
The following code is provided "as-is" with no warranty, guarantee or any other promise.
Create TriggersCreate Triggers
Trigger to process a newly created Trigger to process a newly created Portal ID’sPortal ID’s
Trigger to process updates to a Portal Trigger to process updates to a Portal ID’sID’s
CreateCreate oror replacereplace triggertrigger "GENERAL".GOBTPAC_UPDATE_SPRIDEN_ID "GENERAL".GOBTPAC_UPDATE_SPRIDEN_ID afterafter insertinsert onon GOBTPAC GOBTPAC forfor eacheach rowrowdeclaredeclare -- local variables here-- local variables hereBEGINBEGIN IFIF :new.gobtpac_external_user :new.gobtpac_external_user ISIS NOTNOT NULLNULL THENTHEN INSERTINSERT INTOINTO SATURN.spriden SATURN.spriden ( (SELECTSELECT cpy.spriden_pidm, cpy.spriden_pidm, SUBSTR(upper(:new.gobtpac_external_user),1,9), SUBSTR(upper(:new.gobtpac_external_user),1,9), cpy.spriden_last_name, cpy.spriden_last_name, cpy.spriden_first_name, cpy.spriden_first_name, cpy.spriden_mi, cpy.spriden_mi, NULLNULL,, cpy.spriden_entity_ind, cpy.spriden_entity_ind, SYSDATESYSDATE,, 'ID_GOBTPAC', 'ID_GOBTPAC', 'GOATPAD', 'GOATPAD', cpy.spriden_search_last_name, cpy.spriden_search_last_name, cpy.spriden_search_first_name, cpy.spriden_search_first_name, cpy.spriden_search_mi, cpy.spriden_search_mi, cpy.spriden_soundex_last_name, cpy.spriden_soundex_last_name, cpy.spriden_soundex_first_name, cpy.spriden_soundex_first_name, cpy.spriden_ntyp_code, cpy.spriden_ntyp_code, 'ID_GOBTPAC', 'ID_GOBTPAC', SYSDATESYSDATE,, cpy.spriden_data_origin cpy.spriden_data_origin FROMFROM SATURN.spriden cpy SATURN.spriden cpy wherewhere cpy.spriden_pidm = :NEW.GOBTPAC_pidm cpy.spriden_pidm = :NEW.GOBTPAC_pidm ANDAND cpy.spriden_change_ind cpy.spriden_change_ind ISIS NULLNULL);); updateupdate SATURN.spriden a SATURN.spriden a setset a.spriden_change_ind = 'I' a.spriden_change_ind = 'I' wherewhere a.spriden_pidm = :NEW.GOBTPAC_pidm a.spriden_pidm = :NEW.GOBTPAC_pidm ANDAND a.spriden_id <> SUBSTR(upper(:new.gobtpac_external_user),1,9) a.spriden_id <> SUBSTR(upper(:new.gobtpac_external_user),1,9) ANDAND spriden_change_ind spriden_change_ind ISIS NULLNULL;; ENDEND IFIF;;endend GOBTPAC_insert_to_goremal; GOBTPAC_insert_to_goremal;
Trigger to process a newly created Portal ID’sTrigger to process a newly created Portal ID’s
The following code is provided "as-is" with no warranty, guarantee or any other promise.
createcreate oror replacereplace triggertrigger "GENERAL".GOBTPAC_UPDATE_SPRIDEN_ID2 "GENERAL".GOBTPAC_UPDATE_SPRIDEN_ID2 afterafter UPDATEUPDATE onon GOBTPAC GOBTPAC forfor eacheach rowrowdeclaredeclare -- local variables here-- local variables hereBEGINBEGIN IFIF :new.gobtpac_external_user :new.gobtpac_external_user ISIS NOTNOT NULLNULL ANDAND :new.gobtpac_external_user <> :old.gobtpac_external_user :new.gobtpac_external_user <> :old.gobtpac_external_user THENTHEN INSERTINSERT INTOINTO spriden spriden ( (SELECTSELECT cpy.spriden_pidm, cpy.spriden_pidm, SUBSTR(upper(:new.gobtpac_external_user),1,9), SUBSTR(upper(:new.gobtpac_external_user),1,9), cpy.spriden_last_name, cpy.spriden_last_name, cpy.spriden_first_name, cpy.spriden_first_name, cpy.spriden_mi, cpy.spriden_mi, NULLNULL,, cpy.spriden_entity_ind, cpy.spriden_entity_ind, SYSDATESYSDATE,, 'ID_GOBTPAC', 'ID_GOBTPAC', 'GOATPAD', 'GOATPAD', cpy.spriden_search_last_name, cpy.spriden_search_last_name, cpy.spriden_search_first_name, cpy.spriden_search_first_name, cpy.spriden_search_mi, cpy.spriden_search_mi, cpy.spriden_soundex_last_name, cpy.spriden_soundex_last_name, cpy.spriden_soundex_first_name, cpy.spriden_soundex_first_name, cpy.spriden_ntyp_code, cpy.spriden_ntyp_code, 'ID_GOBTPAC', 'ID_GOBTPAC', SYSDATESYSDATE,, cpy.spriden_data_origin cpy.spriden_data_origin FROMFROM spriden cpy spriden cpy wherewhere cpy.spriden_pidm = :NEW.GOBTPAC_pidm cpy.spriden_pidm = :NEW.GOBTPAC_pidm ANDAND cpy.spriden_change_ind cpy.spriden_change_ind ISIS NULLNULL););
updateupdate spriden a spriden a setset a.spriden_change_ind = 'I' a.spriden_change_ind = 'I' wherewhere a.spriden_pidm = :NEW.GOBTPAC_pidm a.spriden_pidm = :NEW.GOBTPAC_pidm ANDAND a.spriden_id <> SUBSTR(upper(:new.gobtpac_external_user),1,9) a.spriden_id <> SUBSTR(upper(:new.gobtpac_external_user),1,9) ANDAND spriden_change_ind spriden_change_ind ISIS NULLNULL;;
ENDEND IFIF;;endend GOBTPAC_insert_to_goremal; GOBTPAC_insert_to_goremal;
Trigger to process updates to a Portal ID’sTrigger to process updates to a Portal ID’s
The following code is provided "as-is" with no warranty, guarantee or any other promise.
Spriden RowsSpriden Rows
Spaiden form with social Spaiden form with social enteredentered
Spaiden automatically converts to new Spaiden automatically converts to new id, by using a alternate id searchid, by using a alternate id search
Goatpad form for BBunnyGoatpad form for BBunny
Change form for persons Change form for persons not receiving a Portal IDnot receiving a Portal ID
QuestionsQuestions