[Home] [Help]
PACKAGE BODY: APPS.IGF_AP_PROFILE_MATCHING_PKG
Source
1 PACKAGE BODY IGF_AP_PROFILE_MATCHING_PKG AS
2 /* $Header: IGFAP16B.pls 120.9 2006/06/30 07:55:34 rajagupt ship $ */
3
4 g_setup_score igf_ap_record_match%ROWTYPE ;
5 -- #2376750 made cur_data global
6 g_cur_data igf_ap_css_interface%ROWTYPE ;
7 INVALID_PROFILE_ERROR EXCEPTION;
8 SKIP_PERSON EXCEPTION;
9 g_total_processed NUMBER(8) ;
10 g_matched_rec NUMBER(8) ;
11 g_unmatched_rec NUMBER(8) ;
12 g_unmatched_added NUMBER(8) ;
13 g_bad_rec NUMBER(8) ;
14 g_duplicate_rec NUMBER(8);
15 g_record_inserted BOOLEAN ;
16 g_total_rvw NUMBER(8) ;
17 lv_record_status igf_ap_match_Details.record_status%TYPE;
18 g_force_add VARCHAR2(1);
19 g_create_inquiry VARCHAR2(1);
20 g_adm_source_type VARCHAR2(30);
21 g_ci_cal_type igf_ap_batch_aw_map.ci_cal_type%TYPE;
22 g_ci_sequence_number igf_ap_batch_aw_map.ci_sequence_number%TYPE;
23 g_match_code VARCHAR2(30);
24 g_school_code VARCHAR2(30);
25 g_rec_type VARCHAR2(1);
26 g_profile_year VARCHAR2(30);
27 g_active_profile VARCHAR2(1);
28 g_person_id NUMBER;
29 g_base_id NUMBER;
30 g_debug_seq NUMBER := 0;
31
32 CURSOR cur_setup_score (cp_match_code igf_ap_record_match_all.match_code%TYPE) IS
33 SELECT *
34 FROM igf_ap_record_match
35 WHERE match_code = cp_match_code;
36
37 PROCEDURE log_debug_message(m VARCHAR2)
38 IS
39 -- for debugging/testing
40
41 BEGIN
42 g_debug_seq := g_debug_seq + 1;
43 --INSERT INTO RAN_DEBUG values (g_debug_seq,m);
44 /* IF g_enable_debug_logging = 'Y' THEN
45 g_debug_seq := g_debug_seq + 1;
46 -- fnd_file.put_line(fnd_file.log, m);
47 -- INSERT INTO RAN_DEBUG values (g_debug_seq,m);
48
49 END IF; */
50 END log_debug_message;
51 FUNCTION convert_int(col_value VARCHAR2) RETURN VARCHAR2 IS
52 /*
53 || Created By : rasahoo
54 || Created On : 24-AUG-2004
55 || Purpose : This function will return the numberic value of the given column value , i.e taken through the parameter
56 || Known limitations, enhancements or remarks :
57 || Change History :
58 || Who When What
59 || (reverse chronological order - newest change first)
60 */
61
62 BEGIN
63 RETURN TO_NUMBER(col_value);
64
65 EXCEPTION
66 WHEN others THEN
67 IF fnd_log.level_exception >= fnd_log.g_current_runtime_level THEN
68 fnd_log.string(fnd_log.level_exception,'igf.plsql.igf_ap_profile_matching_pkg.convert_int.exception','The exception is : ' || SQLERRM );
69 END IF;
70 RETURN col_value;
71 END convert_int ;
72
73 PROCEDURE update_person_info (p_person_id igf_ap_fa_base_rec.person_id%TYPE)
74 IS
75 /*
76 || Created By : upinjark
77 || Created On : 19-Sept-2005
78 || Purpose :Code is added to create Email address as a part of
79 || IGS.M bug fix for bug 3944249. This is a replica of branch line
80 || bug no 3941146. If no primary Email is
81 || present Email Address will be created. If primary Email is present
82 || then it will not update the Email address, but it will will log a
83 || message that "E-Mail Id EMAIL_ID indicated in the PROFILE record
84 || does not exist in System for the Person."
85 || Known limitations, enhancements or remarks :
86 || Change History :
87 || Who When What
88 */
89 l_msg_data VARCHAR2(2000);
90 l_msg_count NUMBER;
91
92 p_contact_points_rec HZ_CONTACT_POINT_V2PUB.contact_point_rec_type;
93 p_email_rec HZ_CONTACT_POINT_V2PUB.email_rec_type := NULL;
94 p_phone_rec HZ_CONTACT_POINT_V2PUB.phone_rec_type;
95 l_return_status VARCHAR2(25);
96 l_contact_point_id hz_contact_points.contact_point_id%TYPE := NULL;
97 l_chk_email hz_parties.email_address%TYPE;
98
99 CURSOR c_chk_email_addr (cp_person_id hz_parties.party_id%TYPE)
100 IS
101 SELECT email_address
102 FROM hz_parties
103 WHERE party_id = cp_person_id
104 AND email_address IS NOT NULL;
105
106 BEGIN
107
108 IF g_cur_data.r_s_email_address IS NOT NULL THEN
109
110 l_chk_email := NULL;
111 OPEN c_chk_email_addr(p_person_id);
112 FETCH c_chk_email_addr INTO l_chk_email;
113 CLOSE c_chk_email_addr;
114
115 p_contact_points_rec.contact_point_type := 'EMAIL';
116 p_contact_points_rec.owner_table_name := 'HZ_PARTIES';
117 p_contact_points_rec.owner_table_id := p_person_id;
118 p_contact_points_rec.content_source_type := 'USER_ENTERED';
119 p_contact_points_rec.created_by_module := 'IGF';
120 p_email_rec.email_format := 'MAILHTML';
121 p_email_rec.email_address := g_cur_data.r_s_email_address;
122
123 /*IF l_chk_email = 'Y' THEN
124 -- Email already exists. Hence insert a new Non Primary e-mail address
125 p_contact_points_rec.primary_flag := NULL;
126 ELSE
127 -- Email does not exist. Hence insert a new e-mail address as Primary
128 p_contact_points_rec.primary_flag := 'Y';
129 END IF;*/
130
131 IF l_chk_email IS NULL THEN
132 -- new e-mail needs to be created
133 p_contact_points_rec.primary_flag := NULL;
134
135 HZ_CONTACT_POINT_V2PUB.create_contact_point(
136 p_init_msg_list => FND_API.G_FALSE,
137 p_contact_point_rec => p_contact_points_rec,
138 p_email_rec => p_email_rec,
139 p_phone_rec => p_phone_rec,
140 x_return_status => l_return_status,
141 x_msg_count => l_msg_count,
142 x_msg_data => l_msg_data,
143 x_contact_point_id => l_contact_point_id
144 );
145
146 ELSE
147
148 IF LOWER(l_chk_email) <> LOWER(g_cur_data.r_s_email_address) THEN
149 fnd_message.set_name('IGF','IGF_AP_PROF_EMAIL_NTFND');
150 fnd_message.set_token('EMAIL_ID',g_cur_data.r_s_email_address);
151 fnd_file.put_line(fnd_file.log,fnd_message.get);
152 END IF;
153
154 END IF;
155 END IF;
156 EXCEPTION
157 WHEN others THEN
158 IF fnd_log.level_exception >= fnd_log.g_current_runtime_level THEN
159 fnd_log.string(fnd_log.level_exception,'igf.plsql.igf_ap_matching_process_pkg.update_person_info.exception','The exception is : ' || SQLERRM );
160 END IF;
161 fnd_message.set_name('IGS','IGS_GE_UNHANDLED_EXP');
162 fnd_message.set_token('NAME','IGF_AP_PROFILE_MATCHING_PKG.update_person_info');
163 fnd_file.put_line(fnd_file.log,fnd_message.get || ' - '|| SQLERRM);
164 igs_ge_msg_stack.add;
165 app_exception.raise_exception;
166 END update_person_info;
167
168 PROCEDURE create_email_address (p_person_id igf_ap_fa_base_rec.person_id%TYPE)
169 IS
170 /*
171 || Created By : rasahoo
172 || Created On : 11-Oct-2004
173 || Purpose :Code is added to create Email address.
174 || Known limitations, enhancements or remarks :
175 || Change History :
176 || Who When What
177 */
178 l_msg_data VARCHAR2(2000);
179 l_msg_count NUMBER;
180
181 p_contact_points_rec HZ_CONTACT_POINT_V2PUB.contact_point_rec_type;
182 p_email_rec HZ_CONTACT_POINT_V2PUB.email_rec_type := NULL;
183 p_phone_rec HZ_CONTACT_POINT_V2PUB.phone_rec_type;
184 l_return_status VARCHAR2(25);
185 l_contact_point_id hz_contact_points.contact_point_id%TYPE := NULL;
186 BEGIN
187
188 IF g_cur_data.r_s_email_address IS NOT NULL THEN
189 p_contact_points_rec.contact_point_type := 'EMAIL';
190 p_contact_points_rec.owner_table_name := 'HZ_PARTIES';
191 p_contact_points_rec.owner_table_id := p_person_id;
192 p_contact_points_rec.content_source_type := 'USER_ENTERED';
193 p_contact_points_rec.created_by_module := 'IGF';
194 p_email_rec.email_format := 'MAILHTML';
195 p_email_rec.email_address := g_cur_data.r_s_email_address;
196
197 p_contact_points_rec.primary_flag := NULL;
198 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
199 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_profile_matching_pkg.create_email_address.debug','Before creating Email Address' );
200 END IF;
201 HZ_CONTACT_POINT_V2PUB.create_contact_point(
202 p_init_msg_list => FND_API.G_FALSE,
203 p_contact_point_rec => p_contact_points_rec,
204 p_email_rec => p_email_rec,
205 p_phone_rec => p_phone_rec,
206 x_return_status => l_return_status,
207 x_msg_count => l_msg_count,
208 x_msg_data => l_msg_data,
209 x_contact_point_id => l_contact_point_id
210 );
211
212 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
213 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_profile_matching_pkg.create_email_address.debug','After creating Email Address' );
214 END IF;
215 END IF;
216
217 EXCEPTION
218 WHEN others THEN
219 IF fnd_log.level_exception >= fnd_log.g_current_runtime_level THEN
220 fnd_log.string(fnd_log.level_exception,'igf.plsql.igf_ap_matching_process_pkg.create_email_address.exception','The exception is : ' || SQLERRM );
221 END IF;
222 fnd_message.set_name('IGS','IGS_GE_UNHANDLED_EXP');
223 fnd_message.set_token('NAME','IGF_AP_PROFILE_MATCHING_PKG.create_email_address');
224 igs_ge_msg_stack.add;
225 fnd_file.put_line(fnd_file.log,fnd_message.get || ' - '|| SQLERRM);
226 log_debug_message('IGF_AP_PROFILE_MATCHING_PKG.create_email_address' || SQLERRM);
227 END create_email_address;
228
229 PROCEDURE make_profile_inactive( cp_base_id igf_ap_fa_base_rec.base_id%TYPE) IS
230 /*
231 || Created By : rasahoo
232 || Created On : 24-AUG-2004
233 || Purpose : Makes all profile records inactive
234 || Known limitations, enhancements or remarks :
235 || Change History :
236 || Who When What
237 || (reverse chronological order - newest change first)
238 */
239 -- cursor to update the active_profile of igf_ap_css_profile to 'N'
240 CURSOR cur_css_profile(x_base_id igf_ap_fa_base_rec.base_id%TYPE) IS
241 SELECT ROWID row_id, css.*
242 FROM igf_ap_css_profile_all css
243 WHERE base_id = x_base_id FOR UPDATE NOWAIT ;
244 BEGIN
245 -- Cursor for updating the active_profile of all the old profile records of the student to 'n'
246 FOR css_profile_data IN cur_css_profile(cp_base_id) LOOP
247 igf_ap_css_profile_pkg.update_row (
248 X_Mode => 'R',
249 x_rowid => css_profile_data.row_id,
250 x_cssp_id => css_profile_data.cssp_id,
251 x_base_id => css_profile_data.base_id,
252 x_system_record_type => css_profile_data.system_record_type,
253 x_active_profile => 'N',
254 x_college_code => css_profile_data.college_code,
255 x_academic_year => css_profile_data.academic_year,
256 x_stu_record_type => css_profile_data.stu_record_type,
257 x_css_id_number => css_profile_data.css_id_number,
258 x_registration_receipt_date => css_profile_data.registration_receipt_date,
259 x_registration_type => css_profile_data.registration_type,
260 x_application_receipt_date => css_profile_data.application_receipt_date,
261 x_application_type => css_profile_data.application_type,
262 x_original_fnar_compute => css_profile_data.original_fnar_compute,
263 x_revision_fnar_compute_date => css_profile_data.revision_fnar_compute_date,
264 x_electronic_extract_date => css_profile_data.electronic_extract_date,
265 x_institutional_reporting_type => css_profile_data.institutional_reporting_type,
266 x_asr_receipt_date => css_profile_data.asr_receipt_date,
267 x_last_name => css_profile_data.last_name,
268 x_first_name => css_profile_data.first_name,
269 x_middle_initial => css_profile_data.middle_initial,
270 x_address_number_and_street => css_profile_data.address_number_and_street,
271 x_city => css_profile_data.city,
272 x_state_mailing => css_profile_data.state_mailing,
273 x_zip_code => css_profile_data.zip_code,
274 x_s_telephone_number => css_profile_data.s_telephone_number,
275 x_s_title => css_profile_data.s_title,
276 x_date_of_birth => css_profile_data.date_of_birth,
277 x_social_security_number => css_profile_data.social_security_number,
278 x_state_legal_residence => css_profile_data.state_legal_residence,
279 x_foreign_address_indicator => css_profile_data.foreign_address_indicator,
280 x_foreign_postal_code => css_profile_data.foreign_postal_code,
281 x_country => css_profile_data.country,
282 x_financial_aid_status => css_profile_data.financial_aid_status,
283 x_year_in_college => css_profile_data.year_in_college,
284 x_marital_status => css_profile_data.marital_status,
285 x_ward_court => css_profile_data.ward_court,
286 x_legal_dependents_other => css_profile_data.legal_dependents_other,
287 x_household_size => css_profile_data.household_size,
288 x_number_in_college => css_profile_data.number_in_college,
289 x_citizenship_status => css_profile_data.citizenship_status,
290 x_citizenship_country => css_profile_data.citizenship_country,
291 x_visa_classification => css_profile_data.visa_classification,
292 x_tax_figures => css_profile_data.tax_figures,
293 x_number_exemptions => css_profile_data.number_exemptions,
294 x_adjusted_gross_inc => css_profile_data.adjusted_gross_inc,
295 x_us_tax_paid => css_profile_data.us_tax_paid,
296 x_itemized_deductions => css_profile_data.itemized_deductions,
297 x_stu_income_work => css_profile_data.stu_income_work,
298 x_spouse_income_work => css_profile_data.spouse_income_work,
299 x_divid_int_inc => css_profile_data.divid_int_inc,
300 x_soc_sec_benefits => css_profile_data.soc_sec_benefits,
301 x_welfare_tanf => css_profile_data.welfare_tanf,
302 x_child_supp_rcvd => css_profile_data.child_supp_rcvd,
303 x_earned_income_credit => css_profile_data.earned_income_credit,
304 x_other_untax_income => css_profile_data.other_untax_income,
305 x_tax_stu_aid => css_profile_data.tax_stu_aid,
306 x_cash_sav_check => css_profile_data.cash_sav_check,
307 x_ira_keogh => css_profile_data.ira_keogh,
308 x_invest_value => css_profile_data.invest_value,
309 x_invest_debt => css_profile_data.invest_debt,
310 x_home_value => css_profile_data.home_value,
311 x_home_debt => css_profile_data.home_debt,
312 x_oth_real_value => css_profile_data.oth_real_value,
313 x_oth_real_debt => css_profile_data.oth_real_debt,
314 x_bus_farm_value => css_profile_data.bus_farm_value,
315 x_bus_farm_debt => css_profile_data.bus_farm_debt,
316 x_live_on_farm => css_profile_data.live_on_farm,
317 x_home_purch_price => css_profile_data.home_purch_price,
318 x_hope_ll_credit => css_profile_data.hope_ll_credit,
319 x_home_purch_year => css_profile_data.home_purch_year,
320 x_trust_amount => css_profile_data.trust_amount,
321 x_trust_avail => css_profile_data.trust_avail,
322 x_trust_estab => css_profile_data.trust_estab,
323 x_child_support_paid => css_profile_data.child_support_paid,
324 x_med_dent_expenses => css_profile_data.med_dent_expenses,
325 x_vet_us => css_profile_data.vet_us,
326 x_vet_ben_amount => css_profile_data.vet_ben_amount,
327 x_vet_ben_months => css_profile_data.vet_ben_months,
328 x_stu_summer_wages => css_profile_data.stu_summer_wages,
329 x_stu_school_yr_wages => css_profile_data.stu_school_yr_wages,
330 x_spouse_summer_wages => css_profile_data.spouse_summer_wages,
331 x_spouse_school_yr_wages => css_profile_data.spouse_school_yr_wages,
332 x_summer_other_tax_inc => css_profile_data.summer_other_tax_inc,
333 x_school_yr_other_tax_inc => css_profile_data.school_yr_other_tax_inc,
334 x_summer_untax_inc => css_profile_data.summer_untax_inc,
335 x_school_yr_untax_inc => css_profile_data.school_yr_untax_inc,
336 x_grants_schol_etc => css_profile_data.grants_schol_etc,
337 x_tuit_benefits => css_profile_data.tuit_benefits,
338 x_cont_parents => css_profile_data.cont_parents,
339 x_cont_relatives => css_profile_data.cont_relatives,
340 x_p_siblings_pre_tuit => css_profile_data.p_siblings_pre_tuit,
341 x_p_student_pre_tuit => css_profile_data.p_student_pre_tuit,
342 x_p_household_size => css_profile_data.p_household_size,
343 x_p_number_in_college => css_profile_data.p_number_in_college,
344 x_p_parents_in_college => css_profile_data.p_parents_in_college,
345 x_p_marital_status => css_profile_data.p_marital_status,
346 x_p_state_legal_residence => css_profile_data.p_state_legal_residence,
347 x_p_natural_par_status => css_profile_data.p_natural_par_status,
348 x_p_child_supp_paid => css_profile_data.p_child_supp_paid,
349 x_p_repay_ed_loans => css_profile_data.p_repay_ed_loans,
350 x_p_med_dent_expenses => css_profile_data.p_med_dent_expenses,
351 x_p_tuit_paid_amount => css_profile_data.p_tuit_paid_amount,
352 x_p_tuit_paid_number => css_profile_data.p_tuit_paid_number,
353 x_p_exp_child_supp_paid => css_profile_data.p_exp_child_supp_paid,
354 x_p_exp_repay_ed_loans => css_profile_data.p_exp_repay_ed_loans,
355 x_p_exp_med_dent_expenses => css_profile_data.p_exp_med_dent_expenses,
356 x_p_exp_tuit_pd_amount => css_profile_data.p_exp_tuit_pd_amount,
357 x_p_exp_tuit_pd_number => css_profile_data.p_exp_tuit_pd_number,
358 x_p_cash_sav_check => css_profile_data.p_cash_sav_check,
359 x_p_month_mortgage_pay => css_profile_data.p_month_mortgage_pay,
360 x_p_invest_value => css_profile_data.p_invest_value,
361 x_p_invest_debt => css_profile_data.p_invest_debt,
362 x_p_home_value => css_profile_data.p_home_value,
363 x_p_home_debt => css_profile_data.p_home_debt,
364 x_p_home_purch_price => css_profile_data.p_home_purch_price,
365 x_p_own_business_farm => css_profile_data.p_own_business_farm,
366 x_p_business_value => css_profile_data.p_business_value,
367 x_p_business_debt => css_profile_data.p_business_debt,
368 x_p_farm_value => css_profile_data.p_farm_value,
369 x_p_farm_debt => css_profile_data.p_farm_debt,
370 x_p_live_on_farm => css_profile_data.p_live_on_farm,
371 x_p_oth_real_estate_value => css_profile_data.p_oth_real_estate_value,
372 x_p_oth_real_estate_debt => css_profile_data.p_oth_real_estate_debt,
373 x_p_oth_real_purch_price => css_profile_data.p_oth_real_purch_price,
374 x_p_siblings_assets => css_profile_data.p_siblings_assets,
375 x_p_home_purch_year => css_profile_data.p_home_purch_year,
376 x_p_oth_real_purch_year => css_profile_data.p_oth_real_purch_year,
377 x_p_prior_agi => css_profile_data.p_prior_agi,
378 x_p_prior_us_tax_paid => css_profile_data.p_prior_us_tax_paid,
379 x_p_prior_item_deductions => css_profile_data.p_prior_item_deductions,
380 x_p_prior_other_untax_inc => css_profile_data.p_prior_other_untax_inc,
381 x_p_tax_figures => css_profile_data.p_tax_figures,
382 x_p_number_exemptions => css_profile_data.p_number_exemptions,
383 x_p_adjusted_gross_inc => css_profile_data.p_adjusted_gross_inc,
384 x_p_wages_sal_tips => css_profile_data.p_wages_sal_tips,
385 x_p_interest_income => css_profile_data.p_interest_income,
386 x_p_dividend_income => css_profile_data.p_dividend_income,
387 x_p_net_inc_bus_farm => css_profile_data.p_net_inc_bus_farm,
388 x_p_other_taxable_income => css_profile_data.p_other_taxable_income,
389 x_p_adj_to_income => css_profile_data.p_adj_to_income,
390 x_p_us_tax_paid => css_profile_data.p_us_tax_paid,
391 x_p_itemized_deductions => css_profile_data.p_itemized_deductions,
392 x_p_father_income_work => css_profile_data.p_father_income_work,
393 x_p_mother_income_work => css_profile_data.p_mother_income_work,
394 x_p_soc_sec_ben => css_profile_data.p_soc_sec_ben,
395 x_p_welfare_tanf => css_profile_data.p_welfare_tanf,
396 x_p_child_supp_rcvd => css_profile_data.p_child_supp_rcvd,
397 x_p_ded_ira_keogh => css_profile_data.p_ded_ira_keogh,
398 x_p_tax_defer_pens_savs => css_profile_data.p_tax_defer_pens_savs,
399 x_p_dep_care_med_spending => css_profile_data.p_dep_care_med_spending,
400 x_p_earned_income_credit => css_profile_data.p_earned_income_credit,
401 x_p_living_allow => css_profile_data.p_living_allow,
402 x_p_tax_exmpt_int => css_profile_data.p_tax_exmpt_int,
403 x_p_foreign_inc_excl => css_profile_data.p_foreign_inc_excl,
404 x_p_other_untax_inc => css_profile_data.p_other_untax_inc,
405 x_p_hope_ll_credit => css_profile_data.p_hope_ll_credit,
406 x_p_yr_separation => css_profile_data.p_yr_separation,
407 x_p_yr_divorce => css_profile_data.p_yr_divorce,
408 x_p_exp_father_inc => css_profile_data.p_exp_father_inc,
409 x_p_exp_mother_inc => css_profile_data.p_exp_mother_inc,
410 x_p_exp_other_tax_inc => css_profile_data.p_exp_other_tax_inc,
411 x_p_exp_other_untax_inc => css_profile_data.p_exp_other_untax_inc,
412 x_line_2_relation => css_profile_data.line_2_relation,
413 x_line_2_attend_college => css_profile_data.line_2_attend_college,
414 x_line_3_relation => css_profile_data.line_3_relation,
415 x_line_3_attend_college => css_profile_data.line_3_attend_college,
416 x_line_4_relation => css_profile_data.line_4_relation,
417 x_line_4_attend_college => css_profile_data.line_4_attend_college,
418 x_line_5_relation => css_profile_data.line_5_relation,
419 x_line_5_attend_college => css_profile_data.line_5_attend_college,
420 x_line_6_relation => css_profile_data.line_6_relation,
421 x_line_6_attend_college => css_profile_data.line_6_attend_college,
422 x_line_7_relation => css_profile_data.line_7_relation,
423 x_line_7_attend_college => css_profile_data.line_7_attend_college,
424 x_line_8_relation => css_profile_data.line_8_relation,
425 x_line_8_attend_college => css_profile_data.line_8_attend_college,
426 x_p_age_father => css_profile_data.p_age_father,
427 x_p_age_mother => css_profile_data.p_age_mother,
428 x_p_div_sep_ind => css_profile_data.p_div_sep_ind,
429 x_b_cont_non_custodial_par => css_profile_data.b_cont_non_custodial_par,
430 x_college_type_2 => css_profile_data.college_type_2,
431 x_college_type_3 => css_profile_data.college_type_3,
432 x_college_type_4 => css_profile_data.college_type_4,
433 x_college_type_5 => css_profile_data.college_type_5,
434 x_college_type_6 => css_profile_data.college_type_6,
435 x_college_type_7 => css_profile_data.college_type_7,
436 x_college_type_8 => css_profile_data.college_type_8,
437 x_school_code_1 => css_profile_data.school_code_1,
438 x_housing_code_1 => css_profile_data.housing_code_1,
439 x_school_code_2 => css_profile_data.school_code_2,
440 x_housing_code_2 => css_profile_data.housing_code_2,
441 x_school_code_3 => css_profile_data.school_code_3,
442 x_housing_code_3 => css_profile_data.housing_code_3,
443 x_school_code_4 => css_profile_data.school_code_4,
444 x_housing_code_4 => css_profile_data.housing_code_4,
445 x_school_code_5 => css_profile_data.school_code_5,
446 x_housing_code_5 => css_profile_data.housing_code_5,
447 x_school_code_6 => css_profile_data.school_code_6,
448 x_housing_code_6 => css_profile_data.housing_code_6,
449 x_school_code_7 => css_profile_data.school_code_7,
450 x_housing_code_7 => css_profile_data.housing_code_7,
451 x_school_code_8 => css_profile_data.school_code_8,
452 x_housing_code_8 => css_profile_data.housing_code_8,
453 x_school_code_9 => css_profile_data.school_code_9,
454 x_housing_code_9 => css_profile_data.housing_code_9,
455 x_school_code_10 => css_profile_data.school_code_10,
456 x_housing_code_10 => css_profile_data.housing_code_10,
457 x_additional_school_code_1 => css_profile_data.additional_school_code_1,
458 x_additional_school_code_2 => css_profile_data.additional_school_code_2,
459 x_additional_school_code_3 => css_profile_data.additional_school_code_3,
460 x_additional_school_code_4 => css_profile_data.additional_school_code_4,
461 x_additional_school_code_5 => css_profile_data.additional_school_code_5,
462 x_additional_school_code_6 => css_profile_data.additional_school_code_6,
463 x_additional_school_code_7 => css_profile_data.additional_school_code_7,
464 x_additional_school_code_8 => css_profile_data.additional_school_code_8,
465 x_additional_school_code_9 => css_profile_data.additional_school_code_9,
466 x_additional_school_code_10 => css_profile_data.additional_school_code_10,
467 x_explanation_spec_circum => css_profile_data.explanation_spec_circum,
468 x_signature_student => css_profile_data.signature_student,
469 x_signature_spouse => css_profile_data.signature_spouse,
470 x_signature_father => css_profile_data.signature_father,
471 x_signature_mother => css_profile_data.signature_mother,
472 x_month_day_completed => css_profile_data.month_day_completed,
473 x_year_completed => css_profile_data.year_completed,
474 x_age_line_2 => css_profile_data.age_line_2,
475 x_age_line_3 => css_profile_data.age_line_3,
476 x_age_line_4 => css_profile_data.age_line_4,
477 x_age_line_5 => css_profile_data.age_line_5,
478 x_age_line_6 => css_profile_data.age_line_6,
479 x_age_line_7 => css_profile_data.age_line_7,
480 x_age_line_8 => css_profile_data.age_line_8,
481 x_a_online_signature => css_profile_data.a_online_signature,
482 x_question_1_number => css_profile_data.question_1_number,
483 x_question_1_size => css_profile_data.question_1_size,
484 x_question_1_answer => css_profile_data.question_1_answer,
485 x_question_2_number => css_profile_data.question_2_number,
486 x_question_2_size => css_profile_data.question_2_size,
487 x_question_2_answer => css_profile_data.question_2_answer,
488 x_question_3_number => css_profile_data.question_3_number,
489 x_question_3_size => css_profile_data.question_3_size,
490 x_question_3_answer => css_profile_data.question_3_answer,
491 x_question_4_number => css_profile_data.question_4_number,
492 x_question_4_size => css_profile_data.question_4_size,
493 x_question_4_answer => css_profile_data.question_4_answer,
494 x_question_5_number => css_profile_data.question_5_number,
495 x_question_5_size => css_profile_data.question_5_size,
496 x_question_5_answer => css_profile_data.question_5_answer,
497 x_question_6_number => css_profile_data.question_6_number,
498 x_question_6_size => css_profile_data.question_6_size,
499 x_question_6_answer => css_profile_data.question_6_answer,
500 x_question_7_number => css_profile_data.question_7_number,
501 x_question_7_size => css_profile_data.question_7_size,
502 x_question_7_answer => css_profile_data.question_7_answer,
503 x_question_8_number => css_profile_data.question_8_number,
504 x_question_8_size => css_profile_data.question_8_size,
505 x_question_8_answer => css_profile_data.question_8_answer,
506 x_question_9_number => css_profile_data.question_9_number,
507 x_question_9_size => css_profile_data.question_9_size,
508 x_question_9_answer => css_profile_data.question_9_answer,
509 x_question_10_number => css_profile_data.question_10_number,
510 x_question_10_size => css_profile_data.question_10_size,
511 x_question_10_answer => css_profile_data.question_10_answer,
512 x_question_11_number => css_profile_data.question_11_number,
513 x_question_11_size => css_profile_data.question_11_size,
514 x_question_11_answer => css_profile_data.question_11_answer,
515 x_question_12_number => css_profile_data.question_12_number,
516 x_question_12_size => css_profile_data.question_12_size,
517 x_question_12_answer => css_profile_data.question_12_answer,
518 x_question_13_number => css_profile_data.question_13_number,
519 x_question_13_size => css_profile_data.question_13_size,
520 x_question_13_answer => css_profile_data.question_13_answer,
521 x_question_14_number => css_profile_data.question_14_number,
522 x_question_14_size => css_profile_data.question_14_size,
523 x_question_14_answer => css_profile_data.question_14_answer,
524 x_question_15_number => css_profile_data.question_15_number,
525 x_question_15_size => css_profile_data.question_15_size,
526 x_question_15_answer => css_profile_data.question_15_answer,
527 x_question_16_number => css_profile_data.question_16_number,
528 x_question_16_size => css_profile_data.question_16_size,
529 x_question_16_answer => css_profile_data.question_16_answer,
530 x_question_17_number => css_profile_data.question_17_number,
531 x_question_17_size => css_profile_data.question_17_size,
532 x_question_17_answer => css_profile_data.question_17_answer,
533 x_question_18_number => css_profile_data.question_18_number,
534 x_question_18_size => css_profile_data.question_18_size,
535 x_question_18_answer => css_profile_data.question_18_answer,
536 x_question_19_number => css_profile_data.question_19_number,
537 x_question_19_size => css_profile_data.question_19_size,
538 x_question_19_answer => css_profile_data.question_19_answer,
539 x_question_20_number => css_profile_data.question_20_number,
540 x_question_20_size => css_profile_data.question_20_size,
541 x_question_20_answer => css_profile_data.question_20_answer,
542 x_question_21_number => css_profile_data.question_21_number,
543 x_question_21_size => css_profile_data.question_21_size,
544 x_question_21_answer => css_profile_data.question_21_answer,
545 x_question_22_number => css_profile_data.question_22_number,
546 x_question_22_size => css_profile_data.question_22_size,
547 x_question_22_answer => css_profile_data.question_22_answer,
548 x_question_23_number => css_profile_data.question_23_number,
549 x_question_23_size => css_profile_data.question_23_size,
550 x_question_23_answer => css_profile_data.question_23_answer,
551 x_question_24_number => css_profile_data.question_24_number,
552 x_question_24_size => css_profile_data.question_24_size,
553 x_question_24_answer => css_profile_data.question_24_answer,
554 x_question_25_number => css_profile_data.question_25_number,
555 x_question_25_size => css_profile_data.question_25_size,
556 x_question_25_answer => css_profile_data.question_25_answer,
557 x_question_26_number => css_profile_data.question_26_number,
558 x_question_26_size => css_profile_data.question_26_size,
559 x_question_26_answer => css_profile_data.question_26_answer,
560 x_question_27_number => css_profile_data.question_27_number,
561 x_question_27_size => css_profile_data.question_27_size,
562 x_question_27_answer => css_profile_data.question_27_answer,
563 x_question_28_number => css_profile_data.question_28_number,
564 x_question_28_size => css_profile_data.question_28_size,
565 x_question_28_answer => css_profile_data.question_28_answer,
566 x_question_29_number => css_profile_data.question_29_number,
567 x_question_29_size => css_profile_data.question_29_size,
568 x_question_29_answer => css_profile_data.question_29_answer,
569 x_question_30_number => css_profile_data.question_30_number,
570 x_questions_30_size => css_profile_data.questions_30_size,
571 x_question_30_answer => css_profile_data.question_30_answer,
572 x_coa_duration_efc_amt => css_profile_data.coa_duration_efc_amt,
573 x_coa_duration_num => css_profile_data.coa_duration_num,
574 x_p_soc_sec_ben_student_amt => css_profile_data.p_soc_sec_ben_student_amt,
575 x_p_tuit_fee_deduct_amt => css_profile_data.p_tuit_fee_deduct_amt,
576 x_stu_lives_with_num => css_profile_data.stu_lives_with_num,
577 x_stu_most_support_from_num => css_profile_data.stu_most_support_from_num,
578 x_location_computer_num => css_profile_data.location_computer_num
579 );
580
581
582 END LOOP;
583 EXCEPTION
584 WHEN others THEN
585 IF fnd_log.level_exception >= fnd_log.g_current_runtime_level THEN
586 fnd_log.string(fnd_log.level_exception,'igf.plsql.igf_ap_profile_matching_pkg.make_profile_inactive.exception','The exception is : ' || SQLERRM );
587 END IF;
588 fnd_message.set_name('IGS','IGS_GE_UNHANDLED_EXP');
589 fnd_message.set_token('NAME','IGF_AP_PROFILE_MATCHING_PKG.calculate_match_score' );
590 igs_ge_msg_stack.add;
591 fnd_file.put_line(fnd_file.log,fnd_message.get || ' - '|| SQLERRM);
592 log_debug_message('IGF_AP_PROFILE_MATCHING_PKG.calculate_match_score' || SQLERRM);
593 app_exception.raise_exception;
594 END make_profile_inactive;
595
596 FUNCTION remove_spl_chr(pv_ssn igf_ap_isir_ints_all.current_ssn_txt%TYPE)
597 RETURN VARCHAR2
598 IS
599 /*
600 || Created By : rasahoo
601 || Created On : 24-Aug-2004
602 || Purpose : Strips the special charactes from SSN and returns just the number
603 || Known limitations, enhancements or remarks :
604 || Change History :
605 || Who When What
606 || (reverse chronological order - newest change first)
607 */
608
609 ln_ssn VARCHAR2(20);
610
611 BEGIN
612 ln_ssn := TRANSLATE (pv_ssn,'1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ`~!@#$%^&*_+=-,./?><():; ','1234567890');
613 RETURN ln_ssn;
614 EXCEPTION
615 WHEN others THEN
616 IF fnd_log.level_exception >= fnd_log.g_current_runtime_level THEN
617 fnd_log.string(fnd_log.level_exception,'igf.plsql.igf_ap_profile_matching_pkg.remove_spl_chr.exception','The exception is : ' || SQLERRM );
618 END IF;
619 RETURN '-1';
620 END remove_spl_chr;
621
622 PROCEDURE calculate_match_score(p_match_setup igf_ap_record_match%ROWTYPE,
623 p_match_dtls_rec igf_ap_match_details%ROWTYPE,
624 p_apm_id NUMBER,
625 p_person_id NUMBER)
626 IS
627 /*
628 || Created By : rasahoo
629 || Created On : 24-g-2004
630 || Purpose : Matches attributes as per record match setup and inserts a record in match details table
631 after deriving the total score.
632 || Known limitations, enhancements or remarks :
633 || Change History :
634 || Who When What
635 || (reverse chronological order - newest change first)
636 */
637
638 CURSOR chk_match_dtls_exists_cur(cp_apm_id NUMBER, cp_person_id NUMBER) IS
639 SELECT ROWID, ad.*
640 FROM igf_ap_match_details ad
641 WHERE apm_id = cp_apm_id
642 AND person_id = cp_person_id;
643
644 rec_match_dtls chk_match_dtls_exists_cur%ROWTYPE;
645
646 lv_rowid VARCHAR2(30);
647 lv_amd_id NUMBER;
648 l_ssn_match igf_ap_match_details.ssn_match%TYPE;
649 l_given_name_match igf_ap_match_details.given_name_match%TYPE;
650 l_surname_match igf_ap_match_details.surname_match%TYPE;
651 l_address_match igf_ap_match_details.address_match%TYPE;
652 l_city_match igf_ap_match_details.city_match%TYPE;
653 l_zip_match igf_ap_match_details.zip_match%TYPE;
654 l_email_id_match igf_ap_match_details.email_id_match%TYPE;
655 l_dob_match igf_ap_match_details.dob_match%TYPE;
656 l_gender_match igf_ap_match_details.gender_match%TYPE;
657 l_match_score igf_ap_match_details.match_score%TYPE;
658
659 BEGIN
660 -- =============== FIRST MATCH ATTRIBUTES ===============
661
662 -- SSN MATCH
663
664 IF remove_spl_chr(g_cur_data.SOCIAL_SECURITY_NUMBER) = remove_spl_chr(p_match_dtls_rec.ssn_txt) THEN
665 l_ssn_match := p_match_setup.ssn;
666 END IF;
667
668 -- FIRST NAME
669 IF p_match_setup.given_name_mt_txt = 'EXACT' THEN
670 -- First Name setup for exact match
671 IF UPPER(g_cur_data.first_name) = UPPER(p_match_dtls_rec.given_name_txt) THEN
672 l_given_name_match := p_match_setup.given_name;
673 END IF;
674
675 ELSE
676 -- First Name setup for Partial match
677 IF UPPER(p_match_dtls_rec.given_name_txt) LIKE '%'|| UPPER(g_cur_data.first_name) || '%' THEN
678 l_given_name_match := p_match_setup.given_name;
679 END IF;
680 END IF;
681
682
683 -- LAST NAME
684 IF p_match_setup.surname_mt_txt = 'EXACT' THEN
685 -- Last Name setup for exact match
686 IF UPPER(g_cur_data.last_name) = UPPER(p_match_dtls_rec.sur_name_txt) THEN
687 l_surname_match := p_match_setup.surname;
688 END IF;
689
690 ELSE -- last name setup for Partial match
691 IF UPPER(p_match_dtls_rec.sur_name_txt) LIKE '%' || UPPER(g_cur_data.last_name) || '%' THEN
692 l_surname_match := p_match_setup.surname;
693 END IF;
694 END IF;
695
696 -- ADDRESS
697 IF p_match_setup.address_mt_txt = 'EXACT' THEN
698 -- Address setup for exact match
699 IF UPPER(g_cur_data.address_number_and_street) = UPPER(p_match_dtls_rec.address_txt) THEN
700 l_address_match := p_match_setup.address;
701 END IF;
702
703 ELSIF p_match_setup.address_mt_txt = 'PARTIAL' THEN -- Address setup for Partial match
704 IF UPPER(p_match_dtls_rec.address_txt) LIKE '%' || UPPER(g_cur_data.address_number_and_street) || '%' THEN
705 l_address_match := p_match_setup.address;
706 END IF;
707 END IF;
708
709 -- CITY
710 IF p_match_setup.city_mt_txt = 'EXACT' THEN
711 -- City setup for exact match
712 IF UPPER(g_cur_data.CITY) = UPPER(p_match_dtls_rec.city_txt) THEN
713 l_city_match := p_match_setup.city;
714 END IF;
715
716 ELSIF p_match_setup.city_mt_txt = 'PARTIAL' THEN -- Address setup for Partial match
717 IF UPPER(p_match_dtls_rec.city_txt) LIKE '%' || UPPER(g_cur_data.city) || '%' THEN
718 l_city_match := p_match_setup.city;
719 END IF;
720 END IF;
721
722 -- POSTAL CODE
723 IF p_match_setup.zip_mt_txt = 'EXACT' THEN
724 -- Zip Code setup for exact match
725 IF UPPER(g_cur_data.zip_code) = UPPER(p_match_dtls_rec.zip_txt) THEN
726 l_zip_match := p_match_setup.zip;
727 END IF;
728
729 ELSIF p_match_setup.zip_mt_txt = 'PARTIAL' THEN -- Address setup for Partial match
730 IF UPPER(p_match_dtls_rec.zip_txt) LIKE '%' || UPPER(g_cur_data.zip_code) || '%' THEN
731 l_zip_match := p_match_setup.zip;
732 END IF;
733 END IF;
734
735 -- EMAIL ADDRESS
736 IF p_match_setup.email_mt_txt = 'EXACT' THEN
737 -- Email setup for exact match
738 IF UPPER(g_cur_data.r_s_email_address) = UPPER(p_match_dtls_rec.email_id_txt) THEN
739 l_email_id_match := p_match_setup.email_num;
740 END IF;
741
742 ELSIF p_match_setup.email_mt_txt = 'PARTIAL' THEN -- Address setup for Partial match
743 IF UPPER(p_match_dtls_rec.email_id_txt) LIKE '%' || UPPER(g_cur_data.r_s_email_address) || '%' THEN
744 l_email_id_match := p_match_setup.email_num;
745 END IF;
746 END IF;
747
748 -- BIRTH DATE
749 -- can only be setup for Exact or exclude
750 IF p_match_setup.birth_dt_mt_txt = 'EXACT' THEN
751 -- Birth date setup for exact match
752
753
754 IF g_cur_data.date_of_birth IS NOT NULL THEN
755 IF g_cur_data.date_of_birth = TO_CHAR(p_match_dtls_rec.birth_date,'MMDDYYYY') THEN
756
757 l_dob_match := p_match_setup.birth_dt;
758 END IF;
759 END IF;
760 END IF;
761
762 -- =============== COMPUTE TOTAL SCORE ===============
763
764 l_match_score:=
765 NVL(l_ssn_match,0) +
766 NVL(l_given_name_match,0) +
767 NVL(l_surname_match,0) +
768 NVL(l_address_match,0) +
769 NVL(l_city_match,0) +
770 NVL(l_zip_match ,0) +
771 NVL(l_email_id_match,0) +
772 NVL(l_dob_match,0) ;
773
774 -- check whether a match details rec already exists for this person and isir rec.
775 OPEN chk_match_dtls_exists_cur(p_apm_id, p_person_id);
776 FETCH chk_match_dtls_exists_cur INTO rec_match_dtls;
777 CLOSE chk_match_dtls_exists_cur;
778
779 IF rec_match_dtls.rowid IS NULL THEN
780
781 lv_amd_id := NULL;
782 lv_rowid := NULL;
783
784 -- insert a new match details rec
785
786 igf_ap_match_details_pkg.insert_row(
787 x_mode => 'R',
788 x_rowid => lv_rowid,
789 x_amd_id => lv_amd_id,
790 x_apm_id => p_apm_id,
791 x_person_id => p_person_id ,
792 x_ssn_match => l_ssn_match ,
793 x_given_name_match => l_given_name_match,
794 x_surname_match => l_surname_match ,
795 x_dob_match => l_dob_match ,
796 x_address_match => l_address_match ,
797 x_city_match => l_city_match ,
798 x_zip_match => l_zip_match ,
799 x_match_score => l_match_score ,
800 x_record_status => g_cur_data.record_status,
801 x_ssn_txt => p_match_dtls_rec.ssn_txt ,
802 x_given_name_txt => p_match_dtls_rec.given_name_txt ,
803 x_sur_name_txt => p_match_dtls_rec.sur_name_txt ,
804 x_birth_date => p_match_dtls_rec.birth_date ,
805 x_address_txt => p_match_dtls_rec.address_txt ,
806 x_city_txt => p_match_dtls_rec.city_txt ,
807 x_zip_txt => p_match_dtls_rec.zip_txt ,
808 x_gender_txt => NULL ,
809 x_email_id_txt => p_match_dtls_rec.email_id_txt ,
810 x_gender_match => NULL ,
811 x_email_id_match => l_email_id_match
812 );
813
814 ELSE
815 -- update existing rec
816
817 igf_ap_match_details_pkg.update_row(
818 x_mode => 'R',
819 x_rowid => rec_match_dtls.rowid,
820 x_amd_id => rec_match_dtls.amd_id,
821 x_apm_id => rec_match_dtls.apm_id,
822 x_person_id => rec_match_dtls.person_id ,
823 x_ssn_match => l_ssn_match ,
824 x_given_name_match => rec_match_dtls.given_name_match,
825 x_surname_match => rec_match_dtls.surname_match ,
826 x_dob_match => rec_match_dtls.dob_match ,
827 x_address_match => rec_match_dtls.address_match ,
828 x_city_match => rec_match_dtls.city_match ,
829 x_zip_match => rec_match_dtls.zip_match ,
830 x_match_score => rec_match_dtls.match_score ,
831 x_record_status => rec_match_dtls.record_status,
832 x_ssn_txt => p_match_dtls_rec.ssn_txt ,
833 x_given_name_txt => rec_match_dtls.given_name_txt ,
834 x_sur_name_txt => rec_match_dtls.sur_name_txt ,
835 x_birth_date => rec_match_dtls.birth_date ,
836 x_address_txt => rec_match_dtls.address_txt ,
837 x_city_txt => rec_match_dtls.city_txt ,
838 x_zip_txt => rec_match_dtls.zip_txt ,
839 x_gender_txt => rec_match_dtls.gender_txt ,
840 x_email_id_txt => rec_match_dtls.email_id_txt ,
841 x_gender_match => rec_match_dtls.gender_match ,
842 x_email_id_match => rec_match_dtls.email_id_match
843 );
844
845 END IF;
846
847 EXCEPTION
848 WHEN others THEN
849 IF fnd_log.level_exception >= fnd_log.g_current_runtime_level THEN
850 fnd_log.string(fnd_log.level_exception,'igf.plsql.igf_ap_profile_matching_pkg.calculate_match_score.exception','The exception is : ' || SQLERRM );
851 END IF;
852 fnd_message.set_name('IGS','IGS_GE_UNHANDLED_EXP');
853 fnd_message.set_token('NAME','IGF_AP_PROFILE_MATCHING_PKG.calculate_match_score' );
854 igs_ge_msg_stack.add;
855 fnd_file.put_line(fnd_file.log,fnd_message.get || ' - '|| SQLERRM);
856 log_debug_message('IGF_AP_PROFILE_MATCHING_PKG.calculate_match_score 1' || SQLERRM);
857 app_exception.raise_exception;
858 END calculate_match_score;
859
860 PROCEDURE create_ssn(cp_person_id igs_pe_alt_pers_id.pe_person_id%TYPE,
861 cp_original_ssn_txt VARCHAR2
862 )
863 AS
864
865 /*
866 || Created By : rajagupt
867 || Created On : 06-Oct-2005
868 || Purpose : create SSN record
869 || Known limitations, enhancements or remarks :
870 || Change History :
871 || Who When What
872 */
873
874 l_rowid ROWID;
875 BEGIN
876 IGS_PE_ALT_PERS_ID_PKG.INSERT_ROW (
877 X_ROWID => l_rowid,
878 X_PE_PERSON_ID => cp_person_id,
879 X_API_PERSON_ID => cp_original_ssn_txt,
880 X_PERSON_ID_TYPE => 'SSN',
881 X_START_DT => SYSDATE,
882 X_END_DT => NULL,
883 X_ATTRIBUTE_CATEGORY => NULL,
884 X_ATTRIBUTE1 => NULL,
885 X_ATTRIBUTE2 => NULL,
886 X_ATTRIBUTE3 => NULL,
887 X_ATTRIBUTE4 => NULL,
888 X_ATTRIBUTE5 => NULL,
889 X_ATTRIBUTE6 => NULL,
890 X_ATTRIBUTE7 => NULL,
891 X_ATTRIBUTE8 => NULL,
892 X_ATTRIBUTE9 => NULL,
893 X_ATTRIBUTE10 => NULL,
894 X_ATTRIBUTE11 => NULL,
895 X_ATTRIBUTE12 => NULL,
896 X_ATTRIBUTE13 => NULL,
897 X_ATTRIBUTE14 => NULL,
898 X_ATTRIBUTE15 => NULL,
899 X_ATTRIBUTE16 => NULL,
900 X_ATTRIBUTE17 => NULL,
901 X_ATTRIBUTE18 => NULL,
902 X_ATTRIBUTE19 => NULL,
903 X_ATTRIBUTE20 => NULL,
904 X_REGION_CD => NULL,
905 X_MODE => 'R'
906 );
907 END create_ssn;
908
909 PROCEDURE create_fa_base_record(
910 pn_css_id igf_ap_css_interface_all.css_id%TYPE,
911 pn_person_id igf_ap_fa_base_rec_all.person_id%TYPE,
912 pn_base_id OUT NOCOPY igf_ap_fa_base_rec_all.base_id%TYPE
913 ) IS
914
915 /*
916 || Created By : Meghana
917 || Created On : 11-JUN-2001
918 || Purpose : Create the base record for those who satisfies the matching process.
919 || Known limitations, enhancements or remarks :
920 || Change History :
921 || Who When What
922 || ridas 14-Feb-2006 Bug #5021084. Removed trunc function from
923 || cursor SSN_CUR.
924 || rajagupt 6-Oct-2005 Bug#4068548 - added a new cursor ssn_cur
925 || rasahoo 17-NOV-2003 FA 128 - ISIR update 2004-05
926 || added new parameter award_fmly_contribution_type to
927 || TBH call igf_ap_fa_base_rec_pkg
928 || masehgal 11-Nov-2002 FA 101 - SAP Obsoletion
929 || removed packaging hold
930 || masehgal 25-Sep-2002 FA 104 - To Do Enhancements
931 || Added manual_disb_hold in Fa Base insert
932 || (reverse chronological order - newest change first)
933 */
934 CURSOR cur_css_interface ( pn_css_id NUMBER) IS
935 SELECT iii.*, ibm.ci_sequence_number, ibm.ci_cal_type
936 FROM igf_ap_css_interface iii, igf_ap_batch_aw_map ibm
937 WHERE iii.css_id = pn_css_id
938 AND TO_NUMBER(iii.academic_year) = ibm.css_academic_year ;
939
940
941 -- cursor to get the ssn no of a person
942 CURSOR ssn_cur(cp_person_id number) IS
943 SELECT api_person_id,api_person_id_uf, end_dt
944 FROM igs_pe_alt_pers_id
945 WHERE pe_person_id=cp_person_id
946 AND person_id_type like 'SSN'
947 AND SYSDATE < = NVL(end_dt,SYSDATE);
948
949
950
951 rec_ssn_cur ssn_cur%ROWTYPE;
952 lv_profile_value VARCHAR2(20);
953 lv_rowid VARCHAR2(30);
954 lv_ci_cal_type igf_ap_fa_base_rec.ci_cal_type%TYPE;
955 ln_ci_sequence_number igf_ap_fa_base_rec.ci_cal_type%TYPE;
956 retcode NUMBER;
957 errbuf VARCHAR2(300);
958
959
960 BEGIN
961
962 FOR cur_css_interface_rec IN cur_css_interface( pn_css_id)
963 LOOP
964
965 -- check if the ssn no is available or not
966 fnd_profile.get('IGF_AP_SSN_REQ_FOR_BASE_REC',lv_profile_value);
967
968 IF(lv_profile_value = 'Y') THEN
969 OPEN ssn_cur(pn_person_id) ;
970 FETCH ssn_cur INTO rec_ssn_cur;
971 IF ssn_cur%NOTFOUND THEN
972 CLOSE ssn_cur;
973 create_ssn(pn_person_id, cur_css_interface_rec.social_security_number );
974 ELSE
975 CLOSE ssn_cur;
976 END IF;
977 END IF;
978
979 igf_ap_fa_base_rec_pkg.insert_row(
980 x_mode => 'R',
981 x_rowid => lv_rowid,
982 x_base_id => pn_base_id,
983 x_ci_cal_type => cur_css_interface_rec.ci_cal_type,
984 x_person_id => pn_person_id,
985 x_ci_sequence_number => cur_css_interface_rec.ci_sequence_number,
986 x_org_id => NULL,
987 x_coa_pending => NULL,
988 x_verification_process_run => NULL,
989 x_inst_verif_status_date => NULL,
990 x_manual_verif_flag => NULL,
991 x_fed_verif_status => NULL,
992 x_fed_verif_status_date => NULL,
993 x_inst_verif_status => NULL,
994 x_nslds_eligible => NULL,
995 x_ede_correction_batch_id => NULL,
996 x_fa_process_status_date => NULL,
997 x_isir_corr_status => NULL,
998 x_isir_corr_status_date => NULL,
999 x_isir_status => NULL,
1000 x_isir_status_date => NULL,
1001 x_coa_code_f => NULL,
1002 x_coa_code_i => NULL,
1003 x_coa_f => NULL,
1004 x_coa_i => NULL,
1005 x_disbursement_hold => NULL,
1006 x_fa_process_status => NULL,
1007 x_notification_status => NULL,
1008 x_notification_status_date => NULL,
1009 x_packaging_status => NULL,
1010 x_packaging_status_date => NULL,
1011 x_total_package_accepted => NULL,
1012 x_total_package_offered => NULL,
1013 x_admstruct_id => NULL,
1014 x_admsegment_1 => NULL,
1015 x_admsegment_2 => NULL,
1016 x_admsegment_3 => NULL,
1017 x_admsegment_4 => NULL,
1018 x_admsegment_5 => NULL,
1019 x_admsegment_6 => NULL,
1020 x_admsegment_7 => NULL,
1021 x_admsegment_8 => NULL,
1022 x_admsegment_9 => NULL,
1023 x_admsegment_10 => NULL,
1024 x_admsegment_11 => NULL,
1025 x_admsegment_12 => NULL,
1026 x_admsegment_13 => NULL,
1027 x_admsegment_14 => NULL,
1028 x_admsegment_15 => NULL,
1029 x_admsegment_16 => NULL,
1030 x_admsegment_17 => NULL,
1031 x_admsegment_18 => NULL,
1032 x_admsegment_19 => NULL,
1033 x_admsegment_20 => NULL,
1034 x_packstruct_id => NULL,
1035 x_packsegment_1 => NULL,
1036 x_packsegment_2 => NULL,
1037 x_packsegment_3 => NULL,
1038 x_packsegment_4 => NULL,
1039 x_packsegment_5 => NULL,
1040 x_packsegment_6 => NULL,
1041 x_packsegment_7 => NULL,
1042 x_packsegment_8 => NULL,
1043 x_packsegment_9 => NULL,
1044 x_packsegment_10 => NULL,
1045 x_packsegment_11 => NULL,
1046 x_packsegment_12 => NULL,
1047 x_packsegment_13 => NULL,
1048 x_packsegment_14 => NULL,
1049 x_packsegment_15 => NULL,
1050 x_packsegment_16 => NULL,
1051 x_packsegment_17 => NULL,
1052 x_packsegment_18 => NULL,
1053 x_packsegment_19 => NULL,
1054 x_packsegment_20 => NULL,
1055 x_miscstruct_id => NULL,
1056 x_miscsegment_1 => NULL,
1057 x_miscsegment_2 => NULL,
1058 x_miscsegment_3 => NULL,
1059 x_miscsegment_4 => NULL,
1060 x_miscsegment_5 => NULL,
1061 x_miscsegment_6 => NULL,
1062 x_miscsegment_7 => NULL,
1063 x_miscsegment_8 => NULL,
1064 x_miscsegment_9 => NULL,
1065 x_miscsegment_10 => NULL,
1066 x_miscsegment_11 => NULL,
1067 x_miscsegment_12 => NULL,
1068 x_miscsegment_13 => NULL,
1069 x_miscsegment_14 => NULL,
1070 x_miscsegment_15 => NULL,
1071 x_miscsegment_16 => NULL,
1072 x_miscsegment_17 => NULL,
1073 x_miscsegment_18 => NULL,
1074 x_miscsegment_19 => NULL,
1075 x_miscsegment_20 => NULL,
1076 x_prof_judgement_flg => NULL,
1077 x_nslds_data_override_flg => NULL,
1078 x_target_group => NULL,
1079 x_coa_fixed => NULL,
1080 x_coa_pell => NULL,
1081 x_profile_status => cur_css_interface_rec.institutional_reporting_type,
1082 x_profile_status_date => TRUNC(SYSDATE),
1083 x_profile_fc => cur_css_interface_rec.im_inst_2_tot_family_cont,
1084 x_tolerance_amount => NULL,
1085 x_manual_disb_hold => NULL,
1086 x_pell_alt_expense => NULL,
1087 x_assoc_org_num => NULL,
1088 x_award_fmly_contribution_type => '1',
1089 x_isir_locked_by => NULL,
1090 x_adnl_unsub_loan_elig_flag => 'N',
1091 x_lock_awd_flag => 'N',
1092 x_lock_coa_flag => 'N'
1093
1094
1095 );
1096
1097
1098
1099 IF pn_base_id IS NULL THEN
1100 FND_MESSAGE.SET_NAME ('IGF', 'IGF_AP_ERR_FA_REC');
1101 FND_FILE.PUT_LINE(FND_FILE.LOG,FND_MESSAGE.GET);
1102 FND_FILE.PUT_LINE(fnd_file.log,sqlerrm);
1103 END IF;
1104 END LOOP;
1105 EXCEPTION
1106 WHEN OTHERS THEN
1107 IF fnd_log.level_exception >= fnd_log.g_current_runtime_level THEN
1108 fnd_log.string(fnd_log.level_exception,'igf.plsql.igf_ap_profile_matching_pkg.create_fa_base_record.exception','The exception is : ' || SQLERRM );
1109 END IF;
1110 FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXP');
1111 FND_MESSAGE.SET_TOKEN('NAME','IGF_AP_MATCHING_PROCESS_PKG.CREATE_FA_BASE_REC:');
1112 IGS_GE_MSG_STACK.ADD;
1113 fnd_file.put_line(fnd_file.log,fnd_message.get || ' - '|| SQLERRM);
1114 log_debug_message('IGF_AP_PROFILE_MATCHING_PKG.CREATE_FA_BASE_REC' || SQLERRM);
1115 app_exception.raise_exception;
1116 END create_fa_base_record;
1117
1118
1119 PROCEDURE create_fnar_data(pn_css_id igf_ap_css_interface_all.css_id%TYPE,
1120 pn_cssp_id igf_ap_css_profile.cssp_id%TYPE
1121 ) IS
1122
1123 /*
1124 || Created By : Meghana
1125 || Created On : 11-JUN-2001
1126 || Purpose : To create the FNAR matched record for all the matched records.
1127 || Known limitations, enhancements or remarks :
1128 || Change History :
1129 || Who When What
1130 || (reverse chronological order - newest change first)
1131 */
1132 -- Get all the FNAR data for the matched PROFILE record.
1133 CURSOR cur_css_interface ( pn_css_id NUMBER) IS
1134 SELECT iii.*
1135 FROM igf_ap_css_interface_all iii
1136 WHERE css_id = pn_css_id;
1137
1138
1139 lv_rowid VARCHAR2(30);
1140 ln_fnar_id igf_ap_css_fnar.fnar_id%TYPE;
1141 retcode NUMBER;
1142 errbuf VARCHAR2(300);
1143
1144 BEGIN
1145
1146 -- Update FNAR data for the given student
1147 FOR cur_css_interface_rec IN cur_css_interface ( pn_css_id)
1148 LOOP
1149
1150 igf_ap_css_fnar_pkg.insert_row (
1151 x_mode => 'R',
1152 x_rowid => lv_rowid,
1153 x_fnar_id => ln_fnar_id,
1154 x_cssp_id => pn_cssp_id,
1155 x_r_s_email_address => cur_css_interface_rec.r_s_email_address,
1156 x_eps_code => cur_css_interface_rec.eps_code,
1157 x_comp_css_dependency_status => convert_int(cur_css_interface_rec.comp_css_dependency_status),
1158 x_stu_age => convert_int(cur_css_interface_rec.stu_age),
1159 x_assumed_stu_yr_in_coll => convert_int(cur_css_interface_rec.assumed_stu_yr_in_coll),
1160 x_comp_stu_marital_status => convert_int(cur_css_interface_rec.comp_stu_marital_status),
1161 x_stu_family_members => convert_int(cur_css_interface_rec.stu_family_members),
1162 x_stu_fam_members_in_college => convert_int(cur_css_interface_rec.stu_fam_members_in_college),
1163 x_par_marital_status => convert_int(cur_css_interface_rec.par_marital_status),
1164 x_par_family_members => convert_int(cur_css_interface_rec.par_family_members),
1165 x_par_total_in_college => convert_int(cur_css_interface_rec.par_total_in_college),
1166 x_par_par_in_college => convert_int(cur_css_interface_rec.par_par_in_college),
1167 x_par_others_in_college => convert_int(cur_css_interface_rec.par_others_in_college),
1168 x_par_aesa => convert_int(cur_css_interface_rec.par_aesa),
1169 x_par_cesa => convert_int(cur_css_interface_rec.par_cesa),
1170 x_stu_aesa => convert_int(cur_css_interface_rec.stu_aesa),
1171 x_stu_cesa => convert_int(cur_css_interface_rec.stu_cesa),
1172 x_im_p_bas_agi_taxable_income => convert_int(cur_css_interface_rec.im_p_bas_agi_taxable_income),
1173 x_im_p_bas_untx_inc_and_ben => convert_int(cur_css_interface_rec.im_p_bas_untx_inc_and_ben),
1174 x_im_p_bas_inc_adj => convert_int(cur_css_interface_rec.im_p_bas_inc_adj),
1175 x_im_p_bas_total_income => convert_int(cur_css_interface_rec.im_p_bas_total_income),
1176 x_im_p_bas_us_income_tax => convert_int(cur_css_interface_rec.im_p_bas_us_income_tax),
1177 x_im_p_bas_st_and_other_tax => convert_int(cur_css_interface_rec.im_p_bas_st_and_other_tax),
1178 x_im_p_bas_fica_tax => convert_int(cur_css_interface_rec.im_p_bas_fica_tax),
1179 x_im_p_bas_med_dental => convert_int(cur_css_interface_rec.im_p_bas_med_dental),
1180 x_im_p_bas_employment_allow => convert_int(cur_css_interface_rec.im_p_bas_employment_allow),
1181 x_im_p_bas_annual_ed_savings => convert_int(cur_css_interface_rec.im_p_bas_annual_ed_savings),
1182 x_im_p_bas_inc_prot_allow_m => convert_int(cur_css_interface_rec.im_p_bas_inc_prot_allow_m),
1183 x_im_p_bas_total_inc_allow => convert_int(cur_css_interface_rec.im_p_bas_total_inc_allow),
1184 x_im_p_bas_cal_avail_inc => convert_int(cur_css_interface_rec.im_p_bas_cal_avail_inc),
1185 x_im_p_bas_avail_income => convert_int(cur_css_interface_rec.im_p_bas_avail_income),
1186 x_im_p_bas_total_cont_inc => convert_int(cur_css_interface_rec.im_p_bas_total_cont_inc),
1187 x_im_p_bas_cash_bank_accounts => convert_int(cur_css_interface_rec.im_p_bas_cash_bank_accounts),
1188 x_im_p_bas_home_equity => convert_int(cur_css_interface_rec.im_p_bas_home_equity),
1189 x_im_p_bas_ot_rl_est_inv_eq => convert_int(cur_css_interface_rec.im_p_bas_ot_rl_est_inv_eq),
1190 x_im_p_bas_adj_bus_farm_worth => convert_int(cur_css_interface_rec.im_p_bas_adj_bus_farm_worth),
1191 x_im_p_bas_ass_sibs_pre_tui => convert_int(cur_css_interface_rec.im_p_bas_ass_sibs_pre_tui),
1192 x_im_p_bas_net_worth => convert_int(cur_css_interface_rec.im_p_bas_net_worth),
1193 x_im_p_bas_emerg_res_allow => convert_int(cur_css_interface_rec.im_p_bas_emerg_res_allow),
1194 x_im_p_bas_cum_ed_savings => convert_int(cur_css_interface_rec.im_p_bas_cum_ed_savings),
1195 x_im_p_bas_low_inc_allow => convert_int(cur_css_interface_rec.im_p_bas_low_inc_allow),
1196 x_im_p_bas_total_asset_allow => convert_int(cur_css_interface_rec.im_p_bas_total_asset_allow),
1197 x_im_p_bas_disc_net_worth => convert_int(cur_css_interface_rec.im_p_bas_disc_net_worth),
1198 x_im_p_bas_total_cont_asset => convert_int(cur_css_interface_rec.im_p_bas_total_cont_asset),
1199 x_im_p_bas_total_cont => convert_int(cur_css_interface_rec.im_p_bas_total_cont),
1200 x_im_p_bas_num_in_coll_adj => convert_int(cur_css_interface_rec.im_p_bas_num_in_coll_adj),
1201 x_im_p_bas_cont_for_stu => convert_int(cur_css_interface_rec.im_p_bas_cont_for_stu),
1202 x_im_p_bas_cont_from_income => convert_int(cur_css_interface_rec.im_p_bas_cont_from_income),
1203 x_im_p_bas_cont_from_assets => convert_int(cur_css_interface_rec.im_p_bas_cont_from_assets),
1204 x_im_p_opt_agi_taxable_income => convert_int(cur_css_interface_rec.im_p_opt_agi_taxable_income),
1205 x_im_p_opt_untx_inc_and_ben => convert_int(cur_css_interface_rec.im_p_opt_untx_inc_and_ben),
1206 x_im_p_opt_inc_adj => convert_int(cur_css_interface_rec.im_p_opt_inc_adj),
1207 x_im_p_opt_total_income => convert_int(cur_css_interface_rec.im_p_opt_total_income),
1208 x_im_p_opt_us_income_tax => convert_int(cur_css_interface_rec.im_p_opt_us_income_tax),
1209 x_im_p_opt_st_and_other_tax => convert_int(cur_css_interface_rec.im_p_opt_st_and_other_tax),
1210 x_im_p_opt_fica_tax => convert_int(cur_css_interface_rec.im_p_opt_fica_tax),
1211 x_im_p_opt_med_dental => convert_int(cur_css_interface_rec.im_p_opt_med_dental),
1212 x_im_p_opt_elem_sec_tuit => convert_int(cur_css_interface_rec.im_p_opt_elem_sec_tuit),
1213 x_im_p_opt_employment_allow => convert_int(cur_css_interface_rec.im_p_opt_employment_allow),
1214 x_im_p_opt_annual_ed_savings => convert_int(cur_css_interface_rec.im_p_opt_annual_ed_savings),
1215 x_im_p_opt_inc_prot_allow_m => convert_int(cur_css_interface_rec.im_p_opt_inc_prot_allow_m),
1216 x_im_p_opt_total_inc_allow => convert_int(cur_css_interface_rec.im_p_opt_total_inc_allow),
1217 x_im_p_opt_cal_avail_inc => convert_int(cur_css_interface_rec.im_p_opt_cal_avail_inc),
1218 x_im_p_opt_avail_income => convert_int(cur_css_interface_rec.im_p_opt_avail_income),
1219 x_im_p_opt_total_cont_inc => convert_int(cur_css_interface_rec.im_p_opt_total_cont_inc),
1220 x_im_p_opt_cash_bank_accounts => convert_int(cur_css_interface_rec.im_p_opt_cash_bank_accounts),
1221 x_im_p_opt_home_equity => convert_int(cur_css_interface_rec.im_p_opt_home_equity),
1222 x_im_p_opt_ot_rl_est_inv_eq => convert_int(cur_css_interface_rec.im_p_opt_ot_rl_est_inv_eq),
1223 x_im_p_opt_adj_bus_farm_worth => convert_int(cur_css_interface_rec.im_p_opt_adj_bus_farm_worth),
1224 x_im_p_opt_ass_sibs_pre_tui => convert_int(cur_css_interface_rec.im_p_opt_ass_sibs_pre_t),
1225 x_im_p_opt_net_worth => convert_int(cur_css_interface_rec.im_p_opt_net_worth),
1226 x_im_p_opt_emerg_res_allow => convert_int(cur_css_interface_rec.im_p_opt_emerg_res_allow),
1227 x_im_p_opt_cum_ed_savings => convert_int(cur_css_interface_rec.im_p_opt_cum_ed_savings),
1228 x_im_p_opt_low_inc_allow => convert_int(cur_css_interface_rec.im_p_opt_low_inc_allow),
1229 x_im_p_opt_total_asset_allow => convert_int(cur_css_interface_rec.im_p_opt_total_asset_allow),
1230 x_im_p_opt_disc_net_worth => convert_int(cur_css_interface_rec.im_p_opt_disc_net_worth),
1231 x_im_p_opt_total_cont_asset => convert_int(cur_css_interface_rec.im_p_opt_total_cont_asset),
1232 x_im_p_opt_total_cont => convert_int(cur_css_interface_rec.im_p_opt_total_cont),
1233 x_im_p_opt_num_in_coll_adj => convert_int(cur_css_interface_rec.im_p_opt_num_in_coll_adj),
1234 x_im_p_opt_cont_for_stu => convert_int(cur_css_interface_rec.im_p_opt_cont_for_stu),
1235 x_im_p_opt_cont_from_income => convert_int(cur_css_interface_rec.im_p_opt_cont_from_income),
1236 x_im_p_opt_cont_from_assets => convert_int(cur_css_interface_rec.im_p_opt_cont_from_assets),
1237 x_fm_p_analysis_type => convert_int(cur_css_interface_rec.fm_p_analysis_type),
1238 x_fm_p_agi_taxable_income => convert_int(cur_css_interface_rec.fm_p_agi_taxable_income),
1239 x_fm_p_untx_inc_and_ben => convert_int(cur_css_interface_rec.fm_p_untx_inc_and_ben),
1240 x_fm_p_inc_adj => convert_int(cur_css_interface_rec.fm_p_inc_adj),
1241 x_fm_p_total_income => convert_int(cur_css_interface_rec.fm_p_total_income),
1242 x_fm_p_us_income_tax => convert_int(cur_css_interface_rec.fm_p_us_income_tax),
1243 x_fm_p_state_and_other_taxes => convert_int(cur_css_interface_rec.fm_p_state_and_other_taxes),
1244 x_fm_p_fica_tax => convert_int(cur_css_interface_rec.fm_p_fica_tax),
1245 x_fm_p_employment_allow => convert_int(cur_css_interface_rec.fm_p_employment_allow),
1246 x_fm_p_income_prot_allow => convert_int(cur_css_interface_rec.fm_p_income_prot_allow),
1247 x_fm_p_total_allow => convert_int(cur_css_interface_rec.fm_p_total_allow),
1248 x_fm_p_avail_income => convert_int(cur_css_interface_rec.fm_p_avail_income),
1249 x_fm_p_cash_bank_accounts => convert_int(cur_css_interface_rec.fm_p_cash_bank_accounts),
1250 x_fm_p_ot_rl_est_inv_equity => convert_int(cur_css_interface_rec.fm_p_ot_rl_est_inv_eq),
1251 x_fm_p_adj_bus_farm_net_worth => convert_int(cur_css_interface_rec.fm_p_adj_bus_farm_net_worth),
1252 x_fm_p_net_worth => convert_int(cur_css_interface_rec.fm_p_net_worth),
1253 x_fm_p_asset_prot_allow => convert_int(cur_css_interface_rec.fm_p_asset_prot_allow),
1254 x_fm_p_disc_net_worth => convert_int(cur_css_interface_rec.fm_p_disc_net_worth),
1255 x_fm_p_total_contribution => convert_int(cur_css_interface_rec.fm_p_total_contribution),
1256 x_fm_p_num_in_coll => convert_int(cur_css_interface_rec.fm_p_num_in_coll),
1257 x_fm_p_cont_for_stu => convert_int(cur_css_interface_rec.fm_p_cont_for_stu),
1258 x_fm_p_cont_from_income => convert_int(cur_css_interface_rec.fm_p_cont_from_income),
1259 x_fm_p_cont_from_assets => convert_int(cur_css_interface_rec.fm_p_cont_from_assets),
1260 x_im_s_bas_agi_taxable_income => convert_int(cur_css_interface_rec.im_s_bas_agi_taxable_income),
1261 x_im_s_bas_untx_inc_and_ben => convert_int(cur_css_interface_rec.im_s_bas_untx_inc_and_ben),
1262 x_im_s_bas_inc_adj => convert_int(cur_css_interface_rec.im_s_bas_inc_adj),
1263 x_im_s_bas_total_income => convert_int(cur_css_interface_rec.im_s_bas_total_income),
1264 x_im_s_bas_us_income_tax => convert_int(cur_css_interface_rec.im_s_bas_us_income_tax),
1265 x_im_s_bas_state_and_oth_taxes => convert_int(cur_css_interface_rec.im_s_bas_st_and_oth_tax),
1266 x_im_s_bas_fica_tax => convert_int(cur_css_interface_rec.im_s_bas_fica_tax),
1267 x_im_s_bas_med_dental => convert_int(cur_css_interface_rec.im_s_bas_med_dental),
1268 x_im_s_bas_employment_allow => convert_int(cur_css_interface_rec.im_s_bas_employment_allow),
1269 x_im_s_bas_annual_ed_savings => convert_int(cur_css_interface_rec.im_s_bas_annual_ed_savings),
1270 x_im_s_bas_inc_prot_allow_m => convert_int(cur_css_interface_rec.im_s_bas_inc_prot_allow_m),
1271 x_im_s_bas_total_inc_allow => convert_int(cur_css_interface_rec.im_s_bas_total_inc_allow),
1272 x_im_s_bas_cal_avail_income => convert_int(cur_css_interface_rec.im_s_bas_cal_avail_income),
1273 x_im_s_bas_avail_income => convert_int(cur_css_interface_rec.im_s_bas_avail_income),
1274 x_im_s_bas_total_cont_inc => convert_int(cur_css_interface_rec.im_s_bas_total_cont_inc),
1275 x_im_s_bas_cash_bank_accounts => convert_int(cur_css_interface_rec.im_s_bas_cash_bank_accounts),
1276 x_im_s_bas_home_equity => convert_int(cur_css_interface_rec.im_s_bas_home_equity),
1277 x_im_s_bas_ot_rl_est_inv_eq => convert_int(cur_css_interface_rec.im_s_bas_ot_rl_est_inv_eq),
1278 x_im_s_bas_adj_busfarm_worth => convert_int(cur_css_interface_rec.im_s_bas_adj_bus_farm_worth),
1279 x_im_s_bas_trusts => convert_int(cur_css_interface_rec.im_s_bas_trusts),
1280 x_im_s_bas_net_worth => convert_int(cur_css_interface_rec.im_s_bas_net_worth),
1281 x_im_s_bas_emerg_res_allow => convert_int(cur_css_interface_rec.im_s_bas_emerg_res_allow),
1282 x_im_s_bas_cum_ed_savings => convert_int(cur_css_interface_rec.im_s_bas_cum_ed_savings),
1283 x_im_s_bas_total_asset_allow => convert_int(cur_css_interface_rec.im_s_bas_total_asset_allow),
1284 x_im_s_bas_disc_net_worth => convert_int(cur_css_interface_rec.im_s_bas_disc_net_worth),
1285 x_im_s_bas_total_cont_asset => convert_int(cur_css_interface_rec.im_s_bas_total_cont_asset),
1286 x_im_s_bas_total_cont => convert_int(cur_css_interface_rec.im_s_bas_total_cont),
1287 x_im_s_bas_num_in_coll_adj => convert_int(cur_css_interface_rec.im_s_bas_num_in_coll_adj),
1288 x_im_s_bas_cont_for_stu => convert_int(cur_css_interface_rec.im_s_bas_cont_for_stu),
1289 x_im_s_bas_cont_from_income => convert_int(cur_css_interface_rec.im_s_bas_cont_from_income),
1290 x_im_s_bas_cont_from_assets => convert_int(cur_css_interface_rec.im_s_bas_cont_from_assets),
1291 x_im_s_est_agitaxable_income => convert_int(cur_css_interface_rec.im_s_est_agi_taxable_income),
1292 x_im_s_est_untx_inc_and_ben => convert_int(cur_css_interface_rec.im_s_est_untx_inc_and_ben),
1293 x_im_s_est_inc_adj => convert_int(cur_css_interface_rec.im_s_est_inc_adj),
1294 x_im_s_est_total_income => convert_int(cur_css_interface_rec.im_s_est_total_income),
1295 x_im_s_est_us_income_tax => convert_int(cur_css_interface_rec.im_s_est_us_income_tax),
1296 x_im_s_est_state_and_oth_taxes => convert_int(cur_css_interface_rec.im_s_est_st_and_oth_tax),
1297 x_im_s_est_fica_tax => convert_int(cur_css_interface_rec.im_s_est_fica_tax),
1298 x_im_s_est_med_dental => convert_int(cur_css_interface_rec.im_s_est_med_dental),
1299 x_im_s_est_employment_allow => convert_int(cur_css_interface_rec.im_s_est_employment_allow),
1300 x_im_s_est_annual_ed_savings => convert_int(cur_css_interface_rec.im_s_est_annual_ed_savings),
1301 x_im_s_est_inc_prot_allow_m => convert_int(cur_css_interface_rec.im_s_est_inc_prot_allow_m),
1302 x_im_s_est_total_inc_allow => convert_int(cur_css_interface_rec.im_s_est_total_inc_allow),
1303 x_im_s_est_cal_avail_income => convert_int(cur_css_interface_rec.im_s_est_cal_avail_income),
1304 x_im_s_est_avail_income => convert_int(cur_css_interface_rec.im_s_est_avail_income),
1305 x_im_s_est_total_cont_inc => convert_int(cur_css_interface_rec.im_s_est_total_cont_inc),
1306 x_im_s_est_cash_bank_accounts => convert_int(cur_css_interface_rec.im_s_est_cash_bank_accounts),
1307 x_im_s_est_home_equity => convert_int(cur_css_interface_rec.im_s_est_home_equity),
1308 x_im_s_est_ot_rl_est_inv_eq => convert_int(cur_css_interface_rec.im_s_est_ot_rl_est_inv_equ),
1309 x_im_s_est_adj_bus_farm_worth => convert_int(cur_css_interface_rec.im_s_est_adj_bus_farm_worth),
1310 x_im_s_est_est_trusts => convert_int(cur_css_interface_rec.im_s_est_est_trusts),
1311 x_im_s_est_net_worth => convert_int(cur_css_interface_rec.im_s_est_net_worth),
1312 x_im_s_est_emerg_res_allow => convert_int(cur_css_interface_rec.im_s_est_emerg_res_allow),
1313 x_im_s_est_cum_ed_savings => convert_int(cur_css_interface_rec.im_s_est_cum_ed_savings),
1314 x_im_s_est_total_asset_allow => convert_int(cur_css_interface_rec.im_s_est_total_asset_allow),
1315 x_im_s_est_disc_net_worth => convert_int(cur_css_interface_rec.im_s_est_disc_net_worth),
1316 x_im_s_est_total_cont_asset => convert_int(cur_css_interface_rec.im_s_est_total_cont_asset),
1317 x_im_s_est_total_cont => convert_int(cur_css_interface_rec.im_s_est_total_cont),
1318 x_im_s_est_num_in_coll_adj => convert_int(cur_css_interface_rec.im_s_est_num_in_coll_adj),
1319 x_im_s_est_cont_for_stu => convert_int(cur_css_interface_rec.im_s_est_cont_for_stu),
1320 x_im_s_est_cont_from_income => convert_int(cur_css_interface_rec.im_s_est_cont_from_income),
1321 x_im_s_est_cont_from_assets => convert_int(cur_css_interface_rec.im_s_est_cont_from_assets),
1322 x_im_s_opt_agi_taxable_income => convert_int(cur_css_interface_rec.im_s_opt_agi_taxable_income),
1323 x_im_s_opt_untx_inc_and_ben => convert_int(cur_css_interface_rec.im_s_opt_untx_inc_and_ben),
1324 x_im_s_opt_inc_adj => convert_int(cur_css_interface_rec.im_s_opt_inc_adj),
1325 x_im_s_opt_total_income => convert_int(cur_css_interface_rec.im_s_opt_total_income),
1326 x_im_s_opt_us_income_tax => convert_int(cur_css_interface_rec.im_s_opt_us_income_tax),
1327 x_im_s_opt_state_and_oth_taxes => convert_int(cur_css_interface_rec.im_s_opt_state_and_oth_taxes),
1328 x_im_s_opt_fica_tax => convert_int(cur_css_interface_rec.im_s_opt_fica_tax),
1329 x_im_s_opt_med_dental => convert_int(cur_css_interface_rec.im_s_opt_med_dental),
1330 x_im_s_opt_employment_allow => convert_int(cur_css_interface_rec.im_s_opt_employment_allow),
1331 x_im_s_opt_annual_ed_savings => convert_int(cur_css_interface_rec.im_s_opt_annual_ed_savings),
1332 x_im_s_opt_inc_prot_allow_m => convert_int(cur_css_interface_rec.im_s_opt_inc_prot_allow_m),
1333 x_im_s_opt_total_inc_allow => convert_int(cur_css_interface_rec.im_s_opt_total_inc_allow),
1334 x_im_s_opt_cal_avail_income => convert_int(cur_css_interface_rec.im_s_opt_cal_avail_income),
1335 x_im_s_opt_avail_income => convert_int(cur_css_interface_rec.im_s_opt_avail_income),
1336 x_im_s_opt_total_cont_inc => convert_int(cur_css_interface_rec.im_s_opt_total_cont_inc),
1337 x_im_s_opt_cash_bank_accounts => convert_int(cur_css_interface_rec.im_s_opt_cash_bank_accounts),
1338 x_im_s_opt_ira_keogh_accounts => convert_int(cur_css_interface_rec.im_s_opt_ira_keogh_accounts),
1339 x_im_s_opt_home_equity => convert_int(cur_css_interface_rec.im_s_opt_home_equity),
1340 x_im_s_opt_ot_rl_est_inv_eq => convert_int(cur_css_interface_rec.im_s_opt_ot_rl_est_inv_eq),
1341 x_im_s_opt_adj_bus_farm_worth => convert_int(cur_css_interface_rec.im_s_opt_adj_bus_farm_worth),
1342 x_im_s_opt_trusts => convert_int(cur_css_interface_rec.im_s_opt_trusts),
1343 x_im_s_opt_net_worth => convert_int(cur_css_interface_rec.im_s_opt_net_worth),
1344 x_im_s_opt_emerg_res_allow => convert_int(cur_css_interface_rec.im_s_opt_emerg_res_allow),
1345 x_im_s_opt_cum_ed_savings => convert_int(cur_css_interface_rec.im_s_opt_cum_ed_savings),
1346 x_im_s_opt_total_asset_allow => convert_int(cur_css_interface_rec.im_s_opt_total_asset_allow),
1347 x_im_s_opt_disc_net_worth => convert_int(cur_css_interface_rec.im_s_opt_disc_net_worth),
1348 x_im_s_opt_total_cont_asset => convert_int(cur_css_interface_rec.im_s_opt_total_cont_asset),
1349 x_im_s_opt_total_cont => convert_int(cur_css_interface_rec.im_s_opt_total_cont),
1350 x_im_s_opt_num_in_coll_adj => convert_int(cur_css_interface_rec.im_s_opt_num_in_coll_adj),
1351 x_im_s_opt_cont_for_stu => convert_int(cur_css_interface_rec.im_s_opt_cont_for_stu),
1352 x_im_s_opt_cont_from_income => convert_int(cur_css_interface_rec.im_s_opt_cont_from_income),
1353 x_im_s_opt_cont_from_assets => convert_int(cur_css_interface_rec.im_s_opt_cont_from_assets),
1354 x_fm_s_analysis_type => convert_int(cur_css_interface_rec.fm_s_analysis_type),
1355 x_fm_s_agi_taxable_income => convert_int(cur_css_interface_rec.fm_s_agi_taxable_income),
1356 x_fm_s_untx_inc_and_ben => convert_int(cur_css_interface_rec.fm_s_untx_inc_and_ben),
1357 x_fm_s_inc_adj => convert_int(cur_css_interface_rec.fm_s_inc_adj),
1358 x_fm_s_total_income => convert_int(cur_css_interface_rec.fm_s_total_income),
1359 x_fm_s_us_income_tax => convert_int(cur_css_interface_rec.fm_s_us_income_tax),
1360 x_fm_s_state_and_oth_taxes => convert_int(cur_css_interface_rec.fm_s_state_and_oth_taxes),
1361 x_fm_s_fica_tax => convert_int(cur_css_interface_rec.fm_s_fica_tax),
1362 x_fm_s_employment_allow => convert_int(cur_css_interface_rec.fm_s_employment_allow),
1363 x_fm_s_income_prot_allow => convert_int(cur_css_interface_rec.fm_s_income_prot_allow),
1364 x_fm_s_total_allow => convert_int(cur_css_interface_rec.fm_s_total_allow),
1365 x_fm_s_cal_avail_income => convert_int(cur_css_interface_rec.fm_s_cal_avail_income),
1366 x_fm_s_avail_income => convert_int(cur_css_interface_rec.fm_s_avail_income),
1367 x_fm_s_cash_bank_accounts => convert_int(cur_css_interface_rec.fm_s_cash_bank_accounts),
1368 x_fm_s_ot_rl_est_inv_equity => convert_int(cur_css_interface_rec.fm_s_ot_rl_est_inv_equity),
1369 x_fm_s_adj_bus_farm_worth => convert_int(cur_css_interface_rec.fm_s_adj_bus_farm_worth),
1370 x_fm_s_trusts => convert_int(cur_css_interface_rec.fm_s_trusts),
1371 x_fm_s_net_worth => convert_int(cur_css_interface_rec.fm_s_net_worth),
1372 x_fm_s_asset_prot_allow => convert_int(cur_css_interface_rec.fm_s_asset_prot_allow),
1373 x_fm_s_disc_net_worth => convert_int(cur_css_interface_rec.fm_s_disc_net_worth),
1374 x_fm_s_total_cont => convert_int(cur_css_interface_rec.fm_s_total_cont),
1375 x_fm_s_num_in_coll => convert_int(cur_css_interface_rec.fm_s_num_in_coll),
1376 x_fm_s_cont_for_stu => convert_int(cur_css_interface_rec.fm_s_cont_for_stu),
1377 x_fm_s_cont_from_income => convert_int(cur_css_interface_rec.fm_s_cont_from_income),
1378 x_fm_s_cont_from_assets => convert_int(cur_css_interface_rec.fm_s_cont_from_assets),
1379 x_im_inst_resident_ind => convert_int(cur_css_interface_rec.im_inst_resident_ind),
1380 x_institutional_1_budget_name => cur_css_interface_rec.institutional_1_budget_name,
1381 x_im_inst_1_budget_duration => convert_int(cur_css_interface_rec.im_inst_1_budget_duration),
1382 x_im_inst_1_tuition_fees => convert_int(cur_css_interface_rec.im_inst_1_tuition_fees),
1383 x_im_inst_1_books_supplies => convert_int(cur_css_interface_rec.im_inst_1_books_supplies),
1384 x_im_inst_1_living_expenses => convert_int(cur_css_interface_rec.im_inst_1_living_expenses),
1385 x_im_inst_1_tot_expenses => convert_int(cur_css_interface_rec.im_inst_1_tot_expenses),
1386 x_im_inst_1_tot_stu_cont => convert_int(cur_css_interface_rec.im_inst_1_tot_stu_cont),
1387 x_im_inst_1_tot_par_cont => convert_int(cur_css_interface_rec.im_inst_1_tot_par_cont),
1388 x_im_inst_1_tot_family_cont => convert_int(cur_css_interface_rec.im_inst_1_tot_family_cont),
1389 x_im_inst_1_va_benefits => convert_int(cur_css_interface_rec.im_inst_1_va_benefits),
1390 x_im_inst_1_ot_cont => convert_int(cur_css_interface_rec.im_inst_1_ot_cont),
1391 x_im_inst_1_est_financial_need => convert_int(cur_css_interface_rec.im_inst_1_est_financial_need),
1392 x_institutional_2_budget_name => cur_css_interface_rec.institutional_2_budget_name,
1393 x_im_inst_2_budget_duration => convert_int(cur_css_interface_rec.im_inst_2_budget_duration),
1394 x_im_inst_2_tuition_fees => convert_int(cur_css_interface_rec.im_inst_2_tuition_fees),
1395 x_im_inst_2_books_supplies => convert_int(cur_css_interface_rec.im_inst_2_books_supplies),
1396 x_im_inst_2_living_expenses => convert_int(cur_css_interface_rec.im_inst_2_living_expenses),
1397 x_im_inst_2_tot_expenses => convert_int(cur_css_interface_rec.im_inst_2_tot_expenses),
1398 x_im_inst_2_tot_stu_cont => convert_int(cur_css_interface_rec.im_inst_2_tot_stu_cont),
1399 x_im_inst_2_tot_par_cont => convert_int(cur_css_interface_rec.im_inst_2_tot_par_cont),
1400 x_im_inst_2_tot_family_cont => convert_int(cur_css_interface_rec.im_inst_2_tot_family_cont),
1401 x_im_inst_2_va_benefits => convert_int(cur_css_interface_rec.im_inst_2_va_benefits),
1402 x_im_inst_2_est_financial_need => convert_int(cur_css_interface_rec.im_inst_2_est_financial_need),
1403 x_institutional_3_budget_name => cur_css_interface_rec.institutional_3_budget_name,
1404 x_im_inst_3_budget_duration => convert_int(cur_css_interface_rec.im_inst_3_budget_duration),
1405 x_im_inst_3_tuition_fees => convert_int(cur_css_interface_rec.im_inst_3_tuition_fees),
1406 x_im_inst_3_books_supplies => convert_int(cur_css_interface_rec.im_inst_3_books_supplies),
1407 x_im_inst_3_living_expenses => convert_int(cur_css_interface_rec.im_inst_3_living_expenses),
1408 x_im_inst_3_tot_expenses => convert_int(cur_css_interface_rec.im_inst_3_tot_expenses),
1409 x_im_inst_3_tot_stu_cont => convert_int(cur_css_interface_rec.im_inst_3_tot_stu_cont),
1410 x_im_inst_3_tot_par_cont => convert_int(cur_css_interface_rec.im_inst_3_tot_par_cont),
1411 x_im_inst_3_tot_family_cont => convert_int(cur_css_interface_rec.im_inst_3_tot_family_cont),
1412 x_im_inst_3_va_benefits => convert_int(cur_css_interface_rec.im_inst_3_va_benefits),
1413 x_im_inst_3_est_financial_need => convert_int(cur_css_interface_rec.im_inst_3_est_financial_need),
1414 x_fm_inst_1_federal_efc => cur_css_interface_rec.fm_inst_1_federal_efc,
1415 x_fm_inst_1_va_benefits => cur_css_interface_rec.fm_inst_1_va_benefits,
1416 x_fm_inst_1_fed_eligibility => cur_css_interface_rec.fm_inst_1_fed_eligibility,
1417 x_fm_inst_1_pell => cur_css_interface_rec.fm_inst_1_pell,
1418 x_option_par_loss_allow_ind => cur_css_interface_rec.option_par_loss_allow_ind,
1419 x_option_par_tuition_ind => cur_css_interface_rec.option_par_tuition_ind,
1420 x_option_par_home_ind => cur_css_interface_rec.option_par_home_ind,
1421 x_option_par_home_value => cur_css_interface_rec.option_par_home_value,
1422 x_option_par_home_debt => cur_css_interface_rec.option_par_home_debt,
1423 x_option_stu_ira_keogh_ind => cur_css_interface_rec.option_stu_ira_keogh_ind,
1424 x_option_stu_home_ind => cur_css_interface_rec.option_stu_home_ind,
1425 x_option_stu_home_value => cur_css_interface_rec.option_stu_home_value,
1426 x_option_stu_home_debt => cur_css_interface_rec.option_stu_home_debt,
1427 x_option_stu_sum_ay_inc_ind => cur_css_interface_rec.option_stu_sum_ay_inc_ind,
1428 x_option_par_hope_ll_credit => cur_css_interface_rec.option_par_hope_ll_credit,
1429 x_option_stu_hope_ll_credit => cur_css_interface_rec.option_stu_hope_ll_credit,
1430 x_im_parent_1_8_months_bas => cur_css_interface_rec.im_parent_1_8_months_bas,
1431 x_im_p_more_than_9_mth_ba => cur_css_interface_rec.im_p_more_than_9_mth_ba,
1432 x_im_parent_1_8_months_opt => cur_css_interface_rec.im_parent_1_8_months_opt,
1433 x_im_p_more_than_9_mth_op => cur_css_interface_rec.im_p_more_than_9_mth_op,
1434 x_fnar_message_1 => cur_css_interface_rec.fnar_message_1,
1435 x_fnar_message_2 => cur_css_interface_rec.fnar_message_2,
1436 x_fnar_message_3 => cur_css_interface_rec.fnar_message_3,
1437 x_fnar_message_4 => cur_css_interface_rec.fnar_message_4,
1438 x_fnar_message_5 => cur_css_interface_rec.fnar_message_5,
1439 x_fnar_message_6 => cur_css_interface_rec.fnar_message_6,
1440 x_fnar_message_7 => cur_css_interface_rec.fnar_message_7,
1441 x_fnar_message_8 => cur_css_interface_rec.fnar_message_8,
1442 x_fnar_message_9 => cur_css_interface_rec.fnar_message_9,
1443 x_fnar_message_10 => cur_css_interface_rec.fnar_message_10,
1444 x_fnar_message_11 => cur_css_interface_rec.fnar_message_11,
1445 x_fnar_message_12 => cur_css_interface_rec.fnar_message_12,
1446 x_fnar_message_13 => cur_css_interface_rec.fnar_message_13,
1447 x_fnar_message_20 => cur_css_interface_rec.fnar_message_20,
1448 x_fnar_message_21 => cur_css_interface_rec.fnar_message_21,
1449 x_fnar_message_22 => cur_css_interface_rec.fnar_message_22,
1450 x_fnar_message_23 => cur_css_interface_rec.fnar_message_23,
1451 x_fnar_message_24 => cur_css_interface_rec.fnar_message_24,
1452 x_fnar_message_25 => cur_css_interface_rec.fnar_message_25,
1453 x_fnar_message_26 => cur_css_interface_rec.fnar_message_26,
1454 x_fnar_message_27 => cur_css_interface_rec.fnar_message_27,
1455 x_fnar_message_30 => cur_css_interface_rec.fnar_message_30,
1456 x_fnar_message_31 => cur_css_interface_rec.fnar_message_31,
1457 x_fnar_message_32 => cur_css_interface_rec.fnar_message_32,
1458 x_fnar_message_33 => cur_css_interface_rec.fnar_message_33,
1459 x_fnar_message_34 => cur_css_interface_rec.fnar_message_34,
1460 x_fnar_message_35 => cur_css_interface_rec.fnar_message_35,
1461 x_fnar_message_36 => cur_css_interface_rec.fnar_message_36,
1462 x_fnar_message_37 => cur_css_interface_rec.fnar_message_37,
1463 x_fnar_message_38 => cur_css_interface_rec.fnar_message_38,
1464 x_fnar_message_39 => cur_css_interface_rec.fnar_message_39,
1465 x_fnar_message_45 => cur_css_interface_rec.fnar_message_45,
1466 x_fnar_message_46 => cur_css_interface_rec.fnar_message_46,
1467 x_fnar_message_47 => cur_css_interface_rec.fnar_message_47,
1468 x_fnar_message_48 => cur_css_interface_rec.fnar_message_48,
1469 x_fnar_message_50 => cur_css_interface_rec.fnar_message_50,
1470 x_fnar_message_51 => cur_css_interface_rec.fnar_message_51,
1471 x_fnar_message_52 => cur_css_interface_rec.fnar_message_52,
1472 x_fnar_message_53 => cur_css_interface_rec.fnar_message_53,
1473 x_fnar_message_56 => cur_css_interface_rec.fnar_message_56,
1474 x_fnar_message_57 => cur_css_interface_rec.fnar_message_57,
1475 x_fnar_message_58 => cur_css_interface_rec.fnar_message_58,
1476 x_fnar_message_59 => cur_css_interface_rec.fnar_message_59,
1477 x_fnar_message_60 => cur_css_interface_rec.fnar_message_60,
1478 x_fnar_message_61 => cur_css_interface_rec.fnar_message_61,
1479 x_fnar_message_62 => cur_css_interface_rec.fnar_message_62,
1480 x_fnar_message_63 => cur_css_interface_rec.fnar_message_63,
1481 x_fnar_message_64 => cur_css_interface_rec.fnar_message_64,
1482 x_fnar_message_65 => cur_css_interface_rec.fnar_message_65,
1483 x_fnar_message_71 => cur_css_interface_rec.fnar_message_71,
1484 x_fnar_message_72 => cur_css_interface_rec.fnar_message_72,
1485 x_fnar_message_73 => cur_css_interface_rec.fnar_message_73,
1486 x_fnar_message_74 => cur_css_interface_rec.fnar_message_74,
1487 x_fnar_message_75 => cur_css_interface_rec.fnar_message_75,
1488 x_fnar_message_76 => cur_css_interface_rec.fnar_message_76,
1489 x_fnar_message_77 => cur_css_interface_rec.fnar_message_77,
1490 x_fnar_message_78 => cur_css_interface_rec.fnar_message_78,
1491 x_fnar_mesg_10_stu_fam_mem => cur_css_interface_rec.fnar_mesg_10_stu_fam_mem,
1492 x_fnar_mesg_11_stu_no_in_coll => cur_css_interface_rec.fnar_mesg_11_stu_no_in_coll,
1493 x_fnar_mesg_24_stu_avail_inc => cur_css_interface_rec.fnar_mesg_24_stu_avail_inc,
1494 x_fnar_mesg_26_stu_taxes => cur_css_interface_rec.fnar_mesg_26_stu_taxes,
1495 x_fnar_mesg_33_stu_home_value => cur_css_interface_rec.fnar_mesg_33_stu_home_value,
1496 x_fnar_mesg_34_stu_home_value => cur_css_interface_rec.fnar_mesg_34_stu_home_value,
1497 x_fnar_mesg_34_stu_home_equity => cur_css_interface_rec.fnar_mesg_34_stu_home_equity,
1498 x_fnar_mesg_35_stu_home_value => cur_css_interface_rec.fnar_mesg_35_stu_home_value,
1499 x_fnar_mesg_35_stu_home_equity => cur_css_interface_rec.fnar_mesg_35_stu_home_equity,
1500 x_fnar_mesg_36_stu_home_equity => cur_css_interface_rec.fnar_mesg_36_stu_home_equity,
1501 x_fnar_mesg_48_par_fam_mem => cur_css_interface_rec.fnar_mesg_48_par_fam_mem,
1502 x_fnar_mesg_49_par_no_in_coll => cur_css_interface_rec.fnar_mesg_49_par_no_in_coll,
1503 x_fnar_mesg_56_par_agi => cur_css_interface_rec.fnar_mesg_56_par_agi,
1504 x_fnar_mesg_62_par_taxes => cur_css_interface_rec.fnar_mesg_62_par_taxes,
1505 x_fnar_mesg_73_par_home_value => cur_css_interface_rec.fnar_mesg_73_par_home_value,
1506 x_fnar_mesg_74_par_home_value => cur_css_interface_rec.fnar_mesg_74_par_home_value,
1507 x_fnar_mesg_74_par_home_equity => cur_css_interface_rec.fnar_mesg_74_par_home_equity,
1508 x_fnar_mesg_75_par_home_value => cur_css_interface_rec.fnar_mesg_75_par_home_value,
1509 x_fnar_mesg_75_par_home_equity => cur_css_interface_rec.fnar_mesg_75_par_home_equity,
1510 x_fnar_mesg_76_par_home_equity => cur_css_interface_rec.fnar_mesg_76_par_home_equity,
1511 x_assumption_message_1 => cur_css_interface_rec.assumption_message_1,
1512 x_assumption_message_2 => cur_css_interface_rec.assumption_message_2,
1513 x_assumption_message_3 => cur_css_interface_rec.assumption_message_3,
1514 x_assumption_message_4 => cur_css_interface_rec.assumption_message_4,
1515 x_assumption_message_5 => cur_css_interface_rec.assumption_message_5,
1516 x_assumption_message_6 => cur_css_interface_rec.assumption_message_6,
1517 x_record_mark => cur_css_interface_rec.record_mark,
1518 x_fnar_message_55 => cur_css_interface_rec.fnar_message_55,
1519 x_fnar_message_49 => cur_css_interface_rec.fnar_message_49,
1520 x_opt_par_cola_adj_ind => cur_css_interface_rec.option_par_cola_adj_ind,
1521 x_opt_par_stu_fa_assets_ind => cur_css_interface_rec.option_par_stu_fa_assets_ind,
1522 x_opt_par_ipt_assets_ind => cur_css_interface_rec.option_par_ipt_assets_ind,
1523 x_opt_stu_ipt_assets_ind => cur_css_interface_rec.option_stu_ipt_assets_ind,
1524 x_opt_par_cola_adj_value => convert_int(cur_css_interface_rec.option_par_cola_adj_value),
1525 x_legacy_record_flag => NULL,
1526 x_opt_ind_stu_ipt_assets_flag => cur_css_interface_rec.option_ind_stu_ipt_assets_flag,
1527 x_cust_parent_cont_adj_num => cur_css_interface_rec.cust_parent_cont_adj_num,
1528 x_custodial_parent_num => cur_css_interface_rec.custodial_parent_num,
1529 x_cust_par_base_prcnt_inc_amt => cur_css_interface_rec.cust_par_base_prcnt_inc_amt,
1530 x_cust_par_base_cont_inc_amt => cur_css_interface_rec.cust_par_base_cont_inc_amt,
1531 x_cust_par_base_cont_ast_amt => cur_css_interface_rec.cust_par_base_cont_ast_amt,
1532 x_cust_par_base_tot_cont_amt => cur_css_interface_rec.cust_par_base_tot_cont_amt,
1533 x_cust_par_opt_prcnt_inc_amt => cur_css_interface_rec.cust_par_opt_prcnt_inc_amt,
1534 x_cust_par_opt_cont_inc_amt => cur_css_interface_rec.cust_par_opt_cont_inc_amt,
1535 x_cust_par_opt_cont_ast_amt => cur_css_interface_rec.cust_par_opt_cont_ast_amt,
1536 x_cust_par_opt_tot_cont_amt => cur_css_interface_rec.cust_par_opt_cont_ast_amt,
1537 x_parents_email_txt => cur_css_interface_rec.parents_email_txt,
1538 x_parent_1_birth_date => cur_css_interface_rec.parent_1_birth_date,
1539 x_parent_2_birth_date => cur_css_interface_rec.parent_2_birth_date
1540 );
1541
1542 END LOOP;
1543
1544 EXCEPTION
1545 WHEN others THEN
1546 IF fnd_log.level_exception >= fnd_log.g_current_runtime_level THEN
1547 fnd_log.string(fnd_log.level_exception,'igf.plsql.igf_ap_profile_matching_pkg.create_fnar_data.exception','The exception is : ' || SQLERRM );
1548 END IF;
1549 FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXP');
1550 FND_MESSAGE.SET_TOKEN('NAME','IGF_AP_PROFILE_MATCHING_PKG.create_fnar_data');
1551 IGS_GE_MSG_STACK.ADD;
1552 fnd_file.put_line(fnd_file.log,fnd_message.get || ' - '|| SQLERRM);
1553 log_debug_message('IGF_AP_PROFILE_MATCHING_PKG.create_fnar_data'||SQLERRM);
1554 app_exception.raise_exception;
1555 END create_fnar_data;
1556
1557
1558 PROCEDURE create_person_record(
1559 pn_css_id igf_ap_css_interface_all.css_id%TYPE,
1560 pn_person_id OUT NOCOPY igf_ap_fa_base_rec_all.person_id%TYPE,
1561 pv_mesg_data OUT NOCOPY VARCHAR2,
1562 p_called_from VARCHAR2
1563 )IS
1564
1565 /*
1566 || Created By : Meghana
1567 || Created On : 12-JUN-2001
1568 || Purpose : Create a new person record .
1569 || Known limitations, enhancements or remarks :
1570 || Change History :
1571 || Who When What
1572 || skpandey 21-SEP-2005 Bug: 3663505
1573 || Description: Added ATTRIBUTES 21 TO 24 TO STORE ADDITIONAL INFORMATION
1574 || bkkumar 08-Dec-2003 Bug# 3030541 changed the exception block
1575 || to assign the fnd_message.get to the pv_mesg_data.
1576 || masehgal 16-Apr-2002 # 2320076 Made changes in the log file to include student details.
1577 || bkkumar 11-Aug-2003 Bug# 3084964 Added the check for the
1578 || HZ_GENERATE_PARTY_NUMBER profile value
1579 || and removed the hard coded strings.
1580 || (reverse chronological order - newest change first)
1581 */
1582 CURSOR cur_css_interface ( pn_css_id NUMBER) IS
1583 SELECT iii.last_name, iii.middle_initial, iii.social_security_number,iii.first_name,iii.r_s_email_address,date_of_birth
1584 FROM igf_ap_css_interface iii
1585 WHERE iii.css_id = pn_css_id;
1586
1587 ln_msg_count NUMBER;
1588 lv_msg_data VARCHAR2(2000);
1589 lv_return_status VARCHAR2(1);
1590 lv_row_id VARCHAR2(30);
1591 ln_person_number hz_parties.party_number%TYPE;
1592 retcode NUMBER;
1593 errbuf VARCHAR2(300);
1594 l_object_version_number NUMBER;
1595 BEGIN
1596
1597 IF FND_PROFILE.VALUE('HZ_GENERATE_PARTY_NUMBER') = 'N' THEN
1598 IF fnd_log.level_exception >= fnd_log.g_current_runtime_level THEN
1599 fnd_log.string(fnd_log.level_exception,'igf.plsql.igf_ap_profile_matching_pkg.create_person_record','Profile value for HZ_GENERATE_PARTY_NUMBER is set to N' );
1600 END IF;
1601 fnd_message.set_name ('IGF','IGF_AP_HZ_GEN_PARTY_NUMBER');
1602 IF p_called_from = 'FORM' THEN
1603 pv_mesg_data := fnd_message.get;
1604 RETURN;
1605 ELSE
1606 fnd_file.put_line (FND_FILE.LOG, fnd_message.get);
1607 log_debug_message(fnd_message.get);
1608 app_exception.raise_exception;
1609 END IF;
1610 END IF;
1611
1612 -- Create a new person by getting the details from css_interface table.
1613 FOR cur_css_interface_rec IN cur_css_interface (pn_css_id)
1614 LOOP
1615 BEGIN
1616 l_object_version_number := NULL;
1617 igs_pe_person_pkg.insert_row(
1618 x_MSG_COUNT => ln_msg_count,
1619 x_MSG_DATA => lv_msg_data,
1620 x_RETURN_STATUS => lv_return_status,
1621 x_ROWID => lv_row_id,
1622 x_PERSON_ID => pn_person_id,
1623 x_PERSON_NUMBER => ln_person_number,
1624 x_SURNAME => INITCAP(cur_css_interface_rec.last_name),
1625 x_MIDDLE_NAME => cur_css_interface_rec.middle_initial,
1626 x_GIVEN_NAMES => INITCAP(cur_css_interface_rec.first_name),
1627 x_SEX => 'UNSPECIFIED',
1628 x_TITLE => NULL,
1629 x_STAFF_MEMBER_IND => NULL,
1630 x_DECEASED_IND => NULL,
1631 x_SUFFIX => NULL,
1632 x_PRE_NAME_ADJUNCT => NULL,
1633 x_ARCHIVE_EXCLUSION_IND => NULL,
1634 x_ARCHIVE_DT => NULL,
1635 x_PURGE_EXCLUSION_IND => NULL,
1636 x_PURGE_DT => NULL,
1637 x_DECEASED_DATE => NULL,
1638 x_PROOF_OF_INS => NULL,
1639 x_PROOF_OF_IMMU => NULL,
1640 x_BIRTH_DT => TO_DATE(cur_css_interface_rec.date_of_birth,'MMDDYYYY'),
1641 x_SALUTATION => NULL,
1642 x_ORACLE_USERNAME => NULL,
1643 x_PREFERRED_GIVEN_NAME => INITCAP(cur_css_interface_rec.first_name),
1644 x_EMAIL_ADDR => cur_css_interface_rec.r_s_email_address,
1645 x_LEVEL_OF_QUAL_ID => NULL,
1646 x_MILITARY_SERVICE_REG => NULL,
1647 x_VETERAN => NULL,
1648 x_HZ_PARTIES_OVN => l_object_version_number,
1649 x_ATTRIBUTE_CATEGORY => NULL,
1650 x_ATTRIBUTE1 => NULL,
1651 x_ATTRIBUTE2 => NULL,
1652 x_ATTRIBUTE3 => NULL,
1653 x_ATTRIBUTE4 => NULL,
1654 x_ATTRIBUTE5 => NULL,
1655 x_ATTRIBUTE6 => NULL,
1656 x_ATTRIBUTE7 => NULL,
1657 x_ATTRIBUTE8 => NULL,
1658 x_ATTRIBUTE9 => NULL,
1659 x_ATTRIBUTE10 => NULL,
1660 x_ATTRIBUTE11 => NULL,
1661 x_ATTRIBUTE12 => NULL,
1662 x_ATTRIBUTE13 => NULL,
1663 x_ATTRIBUTE14 => NULL,
1664 x_ATTRIBUTE15 => NULL,
1665 x_ATTRIBUTE16 => NULL,
1666 x_ATTRIBUTE17 => NULL,
1667 x_ATTRIBUTE18 => NULL,
1668 x_ATTRIBUTE19 => NULL,
1669 x_ATTRIBUTE20 => NULL,
1670 x_PERSON_ID_TYPE => 'SSN',
1671 x_API_PERSON_ID => igf_ap_matching_process_pkg.format_SSN(cur_css_interface_rec.social_security_number)
1672 );
1673 EXCEPTION
1674 WHEN OTHERS THEN
1675 IF p_called_from = 'FORM' THEN
1676 pv_mesg_data := fnd_message.get;
1677 ELSE
1678 fnd_file.put_line(fnd_file.log, fnd_message.get);
1679 END IF;
1680 RAISE SKIP_PERSON;
1681 END;
1682 /* -- following code is commentned as these values are not set by SWS code
1683 IF pn_person_id IS NULL THEN
1684 g_bad_rec := nvl(g_bad_rec,0) + 1;
1685 IF p_called_from = 'FORM' THEN
1686 pv_mesg_data := lv_msg_data;
1687 ELSE
1688 fnd_file.put_line(fnd_file.log, lv_msg_data);
1689 END IF;
1690 END IF;
1691
1692 fnd_file.put_line(fnd_file.log ,igf_ap_gen.get_lookup_meaning('IGF_AW_LOOKUPS_MSG','STATUS') || ':' || lv_return_status);
1693 pv_mesg_data := lv_msg_data;
1694 */
1695 END LOOP;
1696
1697 EXCEPTION
1698 WHEN SKIP_PERSON THEN
1699 RAISE SKIP_PERSON;
1700 WHEN others THEN
1701 IF fnd_log.level_exception >= fnd_log.g_current_runtime_level THEN
1702 fnd_log.string(fnd_log.level_exception,'igf.plsql.igf_ap_profile_matching_pkg.create_person_record.exception','The exception is : ' || SQLERRM );
1703 END IF;
1704 IF pn_person_id IS NULL THEN
1705 g_bad_rec := nvl(g_bad_rec,0) + 1;
1706 END IF;
1707 IF fnd_msg_pub.count_msg = 1 THEN
1708 pv_mesg_data := fnd_message.get;
1709 ELSIF fnd_msg_pub.count_msg > 1 THEN
1710 pv_mesg_data := SQLERRM;
1711 END IF ;
1712 FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXP');
1713 FND_MESSAGE.SET_TOKEN('NAME','IGF_AP_PROFILE_MATCHING_PKG.create_person_record');
1714 IGS_GE_MSG_STACK.ADD;
1715 fnd_file.put_line(fnd_file.log,fnd_message.get || ' - '|| SQLERRM);
1716 log_debug_message('IGF_AP_PROFILE_MATCHING_PKG.create_person_record'||SQLERRM);
1717 app_exception.raise_exception;
1718
1719 END create_person_record;
1720
1721
1722 PROCEDURE create_person_addr_record(pn_css_id igf_ap_css_interface_all.css_id%TYPE,
1723 pn_person_id igf_ap_fa_base_rec_all.person_id%TYPE
1724 ) IS
1725
1726 /*
1727 || Created By : Meghana
1728 || Created On : 12-JUN-2001
1729 || Purpose : Create person address record after creating the person record for a new person.
1730 || Known limitations, enhancements or remarks :
1731 || Change History :
1732 || Who When What
1733 || rajagupt 29-Jun-06 bug #5348743, Added check to handle lv_return_status of warning type
1734 || (reverse chronological order - newest change first)
1735 */
1736 CURSOR cur_css_interface ( pn_css_id NUMBER) IS
1737 SELECT city, state_mailing, address_number_and_street, s_telephone_number, zip_code
1738 FROM igf_ap_css_interface iii
1739 WHERE css_id = pn_css_id;
1740
1741 lv_row_id VARCHAR2(30);
1742 retcode NUMBER;
1743 errbuf VARCHAR2(300);
1744 lv_msg_data VARCHAR2(2000);
1745 lv_return_status VARCHAR2(1);
1746 lv_location_id hz_locations.location_id%TYPE;
1747 pd_last_update_date DATE;
1748 ln_party_site_id hz_party_sites.party_site_id%TYPE;
1749 l_party_site_ovn hz_party_sites.object_version_number%TYPE;
1750 l_location_ovn hz_locations.object_version_number%TYPE;
1751
1752 BEGIN
1753
1754 FOR cur_css_interface_rec IN cur_css_interface( pn_css_id)
1755 LOOP
1756
1757 igs_pe_person_addr_pkg.insert_row(
1758 P_ACTION => 'R',
1759 P_ROWID => lv_row_id,
1760 P_LOCATION_ID => lv_location_id,
1761 P_START_DT => NULL,
1762 P_END_DT => NULL,
1763 P_COUNTRY => 'US',
1764 P_ADDRESS_STYLE => NULL,
1765 P_ADDR_LINE_1 => INITCAP(cur_css_interface_rec.address_number_and_street),
1766 P_ADDR_LINE_2 => NULL,
1767 P_ADDR_LINE_3 => NULL,
1768 P_ADDR_LINE_4 => NULL,
1769 P_DATE_LAST_VERIFIED => NULL,
1770 P_CORRESPONDENCE => NULL,
1771 P_CITY => INITCAP(cur_css_interface_rec.city),
1772 P_STATE => cur_css_interface_rec.state_mailing,
1773 P_PROVINCE => NULL,
1774 P_COUNTY => NULL,
1775 P_POSTAL_CODE => cur_css_interface_rec.zip_code,
1776 P_ADDRESS_LINES_PHONETIC => NULL,
1777 P_DELIVERY_POINT_CODE => NULL,
1778 P_OTHER_DETAILS_1 => NULL,
1779 P_OTHER_DETAILS_2 => NULL,
1780 P_OTHER_DETAILS_3 => NULL,
1781 L_RETURN_STATUS => lv_return_status,
1782 L_MSG_DATA => lv_msg_data,
1783 P_PARTY_ID => pn_person_id,
1784 P_PARTY_SITE_ID => ln_party_site_id,
1785 P_PARTY_TYPE => NULL,
1786 P_LAST_UPDATE_DATE => pd_last_update_date,
1787 P_PARTY_SITE_OVN => l_party_site_ovn,
1788 P_LOCATION_OVN => l_location_ovn,
1789 P_STATUS => 'A'
1790 );
1791 END LOOP;
1792
1793 IF lv_return_status = 'S' THEN
1794 FND_MESSAGE.SET_NAME('IGF','IGF_AP_ISIR_PER_ADD');
1795 FND_FILE.PUT_LINE(fnd_file.log, fnd_message.get);
1796 -- bug 5348743
1797 ELSIF lv_return_status ='W' THEN
1798 FND_FILE.PUT_LINE(fnd_file.log, lv_msg_data);
1799 ELSE
1800 FND_MESSAGE.SET_NAME('IGS','IGS_AD_CRT_ADDR_FAILED');
1801 FND_FILE.PUT_LINE(fnd_file.log, fnd_message.get);
1802 -- FND_FILE.PUT_LINE(FND_FILE.LOG ,lv_msg_data||fnd_global.newline ||'Status:'||lv_return_status);
1803 END IF;
1804
1805 EXCEPTION
1806 WHEN others THEN
1807 IF fnd_log.level_exception >= fnd_log.g_current_runtime_level THEN
1808 fnd_log.string(fnd_log.level_exception,'igf.plsql.igf_ap_profile_matching_pkg.create_person_addr_record.exception','The exception is : ' || SQLERRM );
1809 END IF;
1810 -- FND_FILE.PUT_LINE(FND_FILE.LOG ,lv_msg_data||fnd_global.newline ||'Status:'||lv_return_status);
1811 FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXP');
1812 FND_MESSAGE.SET_TOKEN('NAME','IGF_AP_PROFILE_MATCHING_PKG.create_person_addr_record');
1813 IGS_GE_MSG_STACK.ADD;
1814 fnd_file.put_line(fnd_file.log,fnd_message.get || ' - '|| SQLERRM);
1815 log_debug_message('IGF_AP_PROFILE_MATCHING_PKG.create_person_addr_record'|| SQLERRM);
1816 END create_person_addr_record;
1817
1818 PROCEDURE process_todo_items(p_base_id NUMBER)
1819 IS
1820 /*
1821 || Created By : hkodali
1822 || Created On : 3-Jan-2005
1823 || Purpose : For updating TODO items for system todo type of PROFILE.
1824 || Known limitations, enhancements or remarks :
1825 || Change History :
1826 || Who When What
1827 ||
1828 || (reverse chronological order - newest change first)
1829 */
1830
1831 CURSOR todo_items_for_profile_cur IS
1832 SELECT im.*
1833 FROM igf_ap_td_item_mst im
1834 WHERE im.system_todo_type_code = 'PROFILE' -- for PROFILE type only
1835 AND im.ci_cal_type = g_ci_cal_type
1836 AND im.ci_sequence_number = g_ci_sequence_number;
1837
1838 CURSOR check_todo_exists_inst_cur(lp_base_id NUMBER, p_item_seq_num NUMBER) IS
1839 SELECT ii.rowid, ii.*
1840 FROM igf_ap_td_item_inst ii, igf_ap_td_item_mst im
1841 WHERE ii.item_sequence_number = im.todo_number
1842 AND im.system_todo_type_code = 'PROFILE'
1843 AND im.ci_cal_type = g_ci_cal_type
1844 AND im.ci_sequence_number = g_ci_sequence_number
1845 AND ii.item_sequence_number = p_item_seq_num
1846 AND ii.base_id = lp_base_id;
1847
1848 l_todo_status igf_ap_td_item_inst_all.status%TYPE;
1849
1850 check_todo_exists_inst_rec check_todo_exists_inst_cur%ROWTYPE;
1851
1852 lv_rowid ROWID;
1853
1854 BEGIN
1855
1856 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1857 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_profile_matching_pkg.process_todo_items.debug','Beginning processing of TODO Items for BASE ID: ' || p_base_id || ', Active Profile: ' || g_active_profile );
1858 END IF;
1859
1860 log_debug_message(' Processing TODO items.... ');
1861 -- populate the variable with the status to be updated for the records
1862 IF g_active_profile = 'Y' THEN
1863 -- need to set the todo status for the records to COMPLETE
1864 l_todo_status := 'COM';
1865
1866 ELSE
1867 -- need to set the todo status for the records to INCOMPLETE
1868 l_todo_status := 'REC';
1869 END IF;
1870
1871
1872 -- loop thru the records and update the status
1873 FOR todo_items_for_profile_rec IN todo_items_for_profile_cur
1874 LOOP
1875 check_todo_exists_inst_rec := NULL;
1876 OPEN check_todo_exists_inst_cur(p_base_id, todo_items_for_profile_rec.todo_number);
1877 FETCH check_todo_exists_inst_cur INTO check_todo_exists_inst_rec;
1878
1879 IF check_todo_exists_inst_cur%NOTFOUND THEN
1880
1881 log_debug_message(' Attaching new ISIR with item_sequence_number : ' || todo_items_for_profile_rec.todo_number || ' and TODO status : ' || l_todo_status || ' for Base ID: ' || p_base_id);
1882 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1883 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_profile_matching_pkg.process_todo_items.debug','Attaching new ISIR with item_sequence_number : ' || todo_items_for_profile_rec.todo_number || ' for Base ID: ' || p_base_id);
1884 END IF;
1885
1886 -- insert new row
1887 lv_rowid := NULL;
1888 igf_ap_td_item_inst_pkg.insert_row (
1889 x_rowid => lv_rowid ,
1890 x_base_id => p_base_id ,
1891 x_item_sequence_number => todo_items_for_profile_rec.todo_number ,
1892 x_status => l_todo_status ,
1893 x_status_date => TRUNC(SYSDATE) ,
1894 x_add_date => TRUNC(SYSDATE) ,
1895 x_corsp_date => NULL ,
1896 x_corsp_count => NULL ,
1897 x_inactive_flag => 'N' ,
1898 x_freq_attempt => todo_items_for_profile_rec.freq_attempt ,
1899 x_max_attempt => todo_items_for_profile_rec.max_attempt ,
1900 x_required_for_application => todo_items_for_profile_rec.required_for_application,
1901 x_mode => 'R' ,
1902 x_legacy_record_flag => NULL,
1903 x_clprl_id => NULL
1904 );
1905 ELSE
1906
1907 log_debug_message(' Update TODO Items to Status : ' || l_todo_status);
1908 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1909 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_profile_matching_pkg.process_todo_items.debug','Processing TODO status to : ' || l_todo_status || ' for Base ID: ' || p_base_id);
1910 END IF;
1911
1912 -- update the status to complete
1913 igf_ap_td_item_inst_pkg.update_row (
1914 x_rowid => check_todo_exists_inst_rec.rowid ,
1915 x_base_id => p_base_id ,
1916 x_item_sequence_number => check_todo_exists_inst_rec.item_sequence_number,
1917 x_status => l_todo_status ,
1918 x_status_date => check_todo_exists_inst_rec.status_date ,
1919 x_add_date => check_todo_exists_inst_rec.add_date ,
1920 x_corsp_date => check_todo_exists_inst_rec.corsp_date ,
1921 x_corsp_count => check_todo_exists_inst_rec.corsp_count ,
1922 x_inactive_flag => check_todo_exists_inst_rec.inactive_flag ,
1923 x_freq_attempt => check_todo_exists_inst_rec.freq_attempt ,
1924 x_max_attempt => check_todo_exists_inst_rec.max_attempt ,
1925 x_required_for_application => check_todo_exists_inst_rec.required_for_application,
1926 x_mode => 'R' ,
1927 x_legacy_record_flag => check_todo_exists_inst_rec.legacy_record_flag,
1928 x_clprl_id => check_todo_exists_inst_rec.clprl_id
1929 );
1930 END IF;
1931
1932
1933 CLOSE check_todo_exists_inst_cur;
1934
1935 log_debug_message('Successfully processed TODO processing.');
1936 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1937 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_profile_matching_pkg.process_todo_items.debug','Item No.: ' || todo_items_for_profile_rec.todo_number);
1938 END IF;
1939 END LOOP;
1940
1941 EXCEPTION
1942 WHEN OTHERS THEN
1943 IF fnd_log.level_exception >= fnd_log.g_current_runtime_level THEN
1944 fnd_log.string(fnd_log.level_exception,'igf.plsql.igf_ap_profile_matching_pkg.process_todo_items.exception','The exception is : ' || SQLERRM );
1945 END IF;
1946
1947 fnd_message.set_name('IGS' , 'IGS_GE_UNHANDLED_EXCEPTION');
1948 igs_ge_msg_stack.add;
1949 fnd_file.put_line(fnd_file.log,fnd_message.get || ' - '|| SQLERRM);
1950 igs_ge_msg_stack.add;
1951 app_exception.raise_exception;
1952 END process_todo_items;
1953
1954
1955 PROCEDURE create_profile_matched(pn_css_id igf_ap_css_interface_all.css_id%TYPE,
1956 pn_cssp_id OUT NOCOPY igf_ap_css_profile.cssp_id%TYPE,
1957 pn_base_id igf_ap_css_profile.base_id%TYPE,
1958 pn_system_record_type igf_ap_css_profile.system_record_type%TYPE
1959 ) IS
1960 /*
1961 || Created By : Meghana
1962 || Created On : 11-JUN-2001
1963 || Purpose : To create the profile matched record once the person satisfies the matching process.
1964 || Known limitations, enhancements or remarks :
1965 || Change History :
1966 || Who When What
1967 || (reverse chronological order - newest change first)
1968 */
1969 CURSOR cur_css_interface ( pn_css_id NUMBER) IS
1970 SELECT ROWID row_id, iii.*
1971 FROM igf_ap_css_interface_all iii
1972 WHERE iii.css_id = pn_css_id;
1973
1974 lv_rowid VARCHAR2(30);
1975 ln_org_id NUMBER ;
1976 ln_cssp_id NUMBER ;
1977 BEGIN
1978
1979
1980 -- Insert Record in IGF_AP_CSS_PROFILE table
1981 FOR cur_css_interface_rec IN cur_css_interface ( pn_css_id)
1982 LOOP
1983
1984 igf_ap_css_profile_pkg.insert_row(
1985 x_mode => 'R',
1986 x_rowid => lv_rowid,
1987 x_cssp_id => pn_cssp_id,
1988 x_base_id => pn_base_id,
1989 x_system_record_type => pn_system_record_type,
1990 x_active_profile => g_active_profile,
1991 x_college_code => cur_css_interface_rec.college_code,
1992 x_academic_year => cur_css_interface_rec.academic_year,
1993 x_stu_record_type => convert_int(cur_css_interface_rec.stu_record_type),
1994 x_css_id_number => convert_int(cur_css_interface_rec.css_id_number),
1995 x_registration_receipt_date => cur_css_interface_rec.registration_receipt_date,
1996 x_registration_type => convert_int(cur_css_interface_rec.registration_type),
1997 x_application_receipt_date => cur_css_interface_rec.application_receipt_date,
1998 x_application_type => convert_int(cur_css_interface_rec.application_type),
1999 x_original_fnar_compute => cur_css_interface_rec.original_fnar_compute,
2000 x_revision_fnar_compute_date => cur_css_interface_rec.revision_fnar_compute_date,
2001 x_electronic_extract_date => cur_css_interface_rec.electronic_extract_date,
2002 x_institutional_reporting_type => convert_int(cur_css_interface_rec.institutional_reporting_type),
2003 x_asr_receipt_date => cur_css_interface_rec.asr_receipt_date,
2004 x_last_name => cur_css_interface_rec.last_name,
2005 x_first_name => cur_css_interface_rec.first_name,
2006 x_middle_initial => cur_css_interface_rec.middle_initial,
2007 x_address_number_and_street => cur_css_interface_rec.address_number_and_street,
2008 x_city => cur_css_interface_rec.city,
2009 x_state_mailing => cur_css_interface_rec.state_mailing,
2010 x_zip_code => cur_css_interface_rec.zip_code,
2011 x_s_telephone_number => cur_css_interface_rec.s_telephone_number,
2012 x_s_title => convert_int(cur_css_interface_rec.s_title),
2013 x_date_of_birth => TO_DATE(cur_css_interface_rec.date_of_birth,'MMDDYYYY'),
2014 x_social_security_number => cur_css_interface_rec.social_security_number,
2015 x_state_legal_residence => cur_css_interface_rec.state_legal_residence,
2016 x_foreign_address_indicator => cur_css_interface_rec.foreign_address_indicator,
2017 x_foreign_postal_code => cur_css_interface_rec.foreign_postal_code,
2018 x_country => cur_css_interface_rec.country,
2019 x_financial_aid_status => convert_int(cur_css_interface_rec.financial_aid_status),
2020 x_year_in_college => convert_int(cur_css_interface_rec.year_in_college),
2021 x_marital_status => convert_int(cur_css_interface_rec.marital_status),
2022 x_ward_court => convert_int(cur_css_interface_rec.ward_court),
2023 x_legal_dependents_other => convert_int(cur_css_interface_rec.legal_dependents_other),
2024 x_household_size => convert_int(cur_css_interface_rec.household_size),
2025 x_number_in_college => convert_int(cur_css_interface_rec.number_in_college),
2026 x_citizenship_status => cur_css_interface_rec.citizenship_status,
2027 x_citizenship_country => cur_css_interface_rec.citizenship_country,
2028 x_visa_classification => convert_int(cur_css_interface_rec.visa_classification),
2029 x_tax_figures => convert_int(cur_css_interface_rec.tax_figures),
2030 x_number_exemptions => convert_int(cur_css_interface_rec.number_exemptions),
2031 x_adjusted_gross_inc => convert_int(cur_css_interface_rec.adjusted_gross_inc),
2032 x_us_tax_paid => convert_int(cur_css_interface_rec.us_tax_paid),
2033 x_itemized_deductions => convert_int(cur_css_interface_rec.itemized_deductions),
2034 x_stu_income_work => convert_int(cur_css_interface_rec.stu_income_work),
2035 x_spouse_income_work => convert_int(cur_css_interface_rec.spouse_income_work),
2036 x_divid_int_inc => convert_int(cur_css_interface_rec.divid_int_inc),
2037 x_soc_sec_benefits => convert_int(cur_css_interface_rec.soc_sec_benefits),
2038 x_welfare_tanf => convert_int(cur_css_interface_rec.welfare_tanf),
2039 x_child_supp_rcvd => convert_int(cur_css_interface_rec.child_supp_rcvd),
2040 x_earned_income_credit => convert_int(cur_css_interface_rec.earned_income_credit),
2041 x_other_untax_income => convert_int(cur_css_interface_rec.other_untax_income),
2042 x_tax_stu_aid => convert_int(cur_css_interface_rec.tax_stu_aid),
2043 x_cash_sav_check => convert_int(cur_css_interface_rec.cash_sav_check),
2044 x_ira_keogh => convert_int(cur_css_interface_rec.ira_keogh),
2045 x_invest_value => convert_int(cur_css_interface_rec.invest_value),
2046 x_invest_debt => convert_int(cur_css_interface_rec.invest_debt),
2047 x_home_value => convert_int(cur_css_interface_rec.home_value),
2048 x_home_debt => convert_int(cur_css_interface_rec.home_debt),
2049 x_oth_real_value => convert_int(cur_css_interface_rec.oth_real_value),
2050 x_oth_real_debt => convert_int(cur_css_interface_rec.oth_real_debt),
2051 x_bus_farm_value => convert_int(cur_css_interface_rec.bus_farm_value),
2052 x_bus_farm_debt => convert_int(cur_css_interface_rec.bus_farm_debt),
2053 x_live_on_farm => convert_int(cur_css_interface_rec.live_on_farm),
2054 x_home_purch_price => convert_int(cur_css_interface_rec.home_purch_price),
2055 x_hope_ll_credit => convert_int(cur_css_interface_rec.hope_ll_credit),
2056 x_home_purch_year => convert_int(cur_css_interface_rec.home_purch_year),
2057 x_trust_amount => convert_int(cur_css_interface_rec.trust_amount),
2058 x_trust_avail => convert_int(cur_css_interface_rec.trust_avail),
2059 x_trust_estab => convert_int(cur_css_interface_rec.trust_estab),
2060 x_child_support_paid => convert_int(cur_css_interface_rec.child_support_paid),
2061 x_med_dent_expenses => convert_int(cur_css_interface_rec.med_dent_expenses),
2062 x_vet_us => convert_int(cur_css_interface_rec.vet_us),
2063 x_vet_ben_amount => convert_int(cur_css_interface_rec.vet_ben_amount),
2064 x_vet_ben_months => convert_int(cur_css_interface_rec.vet_ben_months),
2065 x_stu_summer_wages => convert_int(cur_css_interface_rec.stu_summer_wages),
2066 x_stu_school_yr_wages => convert_int(cur_css_interface_rec.stu_school_yr_wages),
2067 x_spouse_summer_wages => convert_int(cur_css_interface_rec.spouse_summer_wages),
2068 x_spouse_school_yr_wages => convert_int(cur_css_interface_rec.spouse_school_yr_wages),
2069 x_summer_other_tax_inc => convert_int(cur_css_interface_rec.summer_other_tax_inc),
2070 x_school_yr_other_tax_inc => convert_int(cur_css_interface_rec.school_yr_other_tax_inc),
2071 x_summer_untax_inc => convert_int(cur_css_interface_rec.summer_untax_inc),
2072 x_school_yr_untax_inc => convert_int(cur_css_interface_rec.school_yr_untax_inc),
2073 x_grants_schol_etc => convert_int(cur_css_interface_rec.grants_schol_etc),
2074 x_tuit_benefits => convert_int(cur_css_interface_rec.tuit_benefits),
2075 x_cont_parents => convert_int(cur_css_interface_rec.cont_parents),
2076 x_cont_relatives => convert_int(cur_css_interface_rec.cont_relatives),
2077 x_p_siblings_pre_tuit => convert_int(cur_css_interface_rec.p_siblings_pre_tuit),
2078 x_p_student_pre_tuit => convert_int(cur_css_interface_rec.p_student_pre_tuit),
2079 x_p_household_size => convert_int(cur_css_interface_rec.p_household_size),
2080 x_p_number_in_college => convert_int(cur_css_interface_rec.p_number_in_college),
2081 x_p_parents_in_college => convert_int(cur_css_interface_rec.p_parents_in_college),
2082 x_p_marital_status => convert_int(cur_css_interface_rec.p_marital_status),
2083 x_p_state_legal_residence => cur_css_interface_rec.p_state_legal_residence,
2084 x_p_natural_par_status => convert_int(cur_css_interface_rec.p_natural_par_status),
2085 x_p_child_supp_paid => convert_int(cur_css_interface_rec.p_child_supp_paid),
2086 x_p_repay_ed_loans => convert_int(cur_css_interface_rec.p_repay_ed_loans),
2087 x_p_med_dent_expenses => convert_int(cur_css_interface_rec.p_med_dent_expenses),
2088 x_p_tuit_paid_amount => convert_int(cur_css_interface_rec.p_tuit_paid_amount),
2089 x_p_tuit_paid_number => convert_int(cur_css_interface_rec.p_tuit_paid_number),
2090 x_p_exp_child_supp_paid => convert_int(cur_css_interface_rec.p_exp_child_supp_paid),
2091 x_p_exp_repay_ed_loans => convert_int(cur_css_interface_rec.p_exp_repay_ed_loans),
2092 x_p_exp_med_dent_expenses => convert_int(cur_css_interface_rec.p_exp_med_dent_expenses),
2093 x_p_exp_tuit_pd_amount => convert_int(cur_css_interface_rec.p_exp_tuit_pd_amount),
2094 x_p_exp_tuit_pd_number => convert_int(cur_css_interface_rec.p_exp_tuit_pd_number),
2095 x_p_cash_sav_check => convert_int(cur_css_interface_rec.p_cash_sav_check),
2096 x_p_month_mortgage_pay => convert_int(cur_css_interface_rec.p_month_mortgage_pay),
2097 x_p_invest_value => convert_int(cur_css_interface_rec.p_invest_value),
2098 x_p_invest_debt => convert_int(cur_css_interface_rec.p_invest_debt),
2099 x_p_home_value => convert_int(cur_css_interface_rec.p_home_value),
2100 x_p_home_debt => convert_int(cur_css_interface_rec.p_home_debt),
2101 x_p_home_purch_price => convert_int(cur_css_interface_rec.p_home_purch_price),
2102 x_p_own_business_farm => convert_int(cur_css_interface_rec.p_own_business_farm),
2103 x_p_business_value => convert_int(cur_css_interface_rec.p_business_value),
2104 x_p_business_debt => convert_int(cur_css_interface_rec.p_business_debt),
2105 x_p_farm_value => convert_int(cur_css_interface_rec.p_farm_value),
2106 x_p_farm_debt => convert_int(cur_css_interface_rec.p_farm_debt),
2107 x_p_live_on_farm => convert_int(cur_css_interface_rec.p_live_on_farm),
2108 x_p_oth_real_estate_value => convert_int(cur_css_interface_rec.p_oth_real_estate_value),
2109 x_p_oth_real_estate_debt => convert_int(cur_css_interface_rec.p_oth_real_estate_debt),
2110 x_p_oth_real_purch_price => convert_int(cur_css_interface_rec.p_oth_real_purch_price),
2111 x_p_siblings_assets => convert_int(cur_css_interface_rec.p_siblings_assets),
2112 x_p_home_purch_year => convert_int(cur_css_interface_rec.p_home_purch_year),
2113 x_p_oth_real_purch_year => convert_int(cur_css_interface_rec.p_oth_real_purch_year),
2114 x_p_prior_agi => convert_int(cur_css_interface_rec.p_prior_agi),
2115 x_p_prior_us_tax_paid => convert_int(cur_css_interface_rec.p_prior_us_tax_paid),
2116 x_p_prior_item_deductions => convert_int(cur_css_interface_rec.p_prior_item_deductions),
2117 x_p_prior_other_untax_inc => convert_int(cur_css_interface_rec.p_prior_other_untax_inc),
2118 x_p_tax_figures => convert_int(cur_css_interface_rec.p_tax_figures),
2119 x_p_number_exemptions => convert_int(cur_css_interface_rec.p_number_exemptions),
2120 x_p_adjusted_gross_inc => convert_int(cur_css_interface_rec.p_adjusted_gross_inc),
2121 x_p_wages_sal_tips => convert_int(cur_css_interface_rec.p_wages_sal_tips),
2122 x_p_interest_income => convert_int(cur_css_interface_rec.p_interest_income),
2123 x_p_dividend_income => convert_int( cur_css_interface_rec.p_dividend_income),
2124 x_p_net_inc_bus_farm => convert_int(cur_css_interface_rec.p_net_inc_bus_farm),
2125 x_p_other_taxable_income => convert_int(cur_css_interface_rec.p_other_taxable_income),
2126 x_p_adj_to_income => convert_int(cur_css_interface_rec.p_adj_to_income),
2127 x_p_us_tax_paid => convert_int(cur_css_interface_rec.p_us_tax_paid),
2128 x_p_itemized_deductions => convert_int(cur_css_interface_rec.p_itemized_deductions),
2129 x_p_father_income_work => convert_int(cur_css_interface_rec.p_father_income_work),
2130 x_p_mother_income_work => convert_int(cur_css_interface_rec.p_mother_income_work),
2131 x_p_soc_sec_ben => convert_int(cur_css_interface_rec.p_soc_sec_ben),
2132 x_p_welfare_tanf => convert_int(cur_css_interface_rec.p_welfare_tanf),
2133 x_p_child_supp_rcvd => convert_int(cur_css_interface_rec.p_child_supp_rcvd),
2134 x_p_ded_ira_keogh => convert_int(cur_css_interface_rec.p_ded_ira_keogh),
2135 x_p_tax_defer_pens_savs => convert_int(cur_css_interface_rec.p_tax_defer_pens_savs),
2136 x_p_dep_care_med_spending => convert_int(cur_css_interface_rec.p_dep_care_med_spending),
2137 x_p_earned_income_credit => convert_int(cur_css_interface_rec.p_earned_income_credit),
2138 x_p_living_allow => convert_int(cur_css_interface_rec.p_living_allow),
2139 x_p_tax_exmpt_int => convert_int(cur_css_interface_rec.p_tax_exmpt_int),
2140 x_p_foreign_inc_excl => convert_int(cur_css_interface_rec.p_foreign_inc_excl),
2141 x_p_other_untax_inc => convert_int(cur_css_interface_rec.p_other_untax_inc),
2142 x_p_hope_ll_credit => convert_int(cur_css_interface_rec.p_hope_ll_credit),
2143 x_p_yr_separation => convert_int(cur_css_interface_rec.p_yr_separation),
2144 x_p_yr_divorce => convert_int(cur_css_interface_rec.p_yr_divorce),
2145 x_p_exp_father_inc => convert_int(cur_css_interface_rec.p_exp_father_inc),
2146 x_p_exp_mother_inc => convert_int(cur_css_interface_rec.p_exp_mother_inc),
2147 x_p_exp_other_tax_inc => convert_int(cur_css_interface_rec.p_exp_other_tax_inc),
2148 x_p_exp_other_untax_inc => convert_int(cur_css_interface_rec.p_exp_other_untax_inc),
2149 x_line_2_relation => convert_int(cur_css_interface_rec.line_2_relation),
2150 x_line_2_attend_college => convert_int(cur_css_interface_rec.line_2_attend_college),
2151 x_line_3_relation => convert_int(cur_css_interface_rec.line_3_relation),
2152 x_line_3_attend_college => convert_int(cur_css_interface_rec.line_3_attend_college),
2153 x_line_4_relation => convert_int(cur_css_interface_rec.line_4_relation),
2154 x_line_4_attend_college => convert_int(cur_css_interface_rec.line_4_attend_college),
2155 x_line_5_relation => convert_int(cur_css_interface_rec.line_5_relation),
2156 x_line_5_attend_college => convert_int(cur_css_interface_rec.line_5_attend_college),
2157 x_line_6_relation => convert_int(cur_css_interface_rec.line_6_relation),
2158 x_line_6_attend_college => convert_int(cur_css_interface_rec.line_6_attend_college),
2159 x_line_7_relation => convert_int(cur_css_interface_rec.line_7_relation),
2160 x_line_7_attend_college => convert_int(cur_css_interface_rec.line_7_attend_college),
2161 x_line_8_relation => convert_int(cur_css_interface_rec.line_8_relation),
2162 x_line_8_attend_college => convert_int(cur_css_interface_rec.line_8_attend_college),
2163 x_p_age_father => convert_int(cur_css_interface_rec.p_age_father),
2164 x_p_age_mother => convert_int(cur_css_interface_rec.p_age_mother),
2165 x_p_div_sep_ind => convert_int(cur_css_interface_rec.p_div_sep_ind),
2166 x_b_cont_non_custodial_par => convert_int(cur_css_interface_rec.b_cont_non_custodial_par),
2167 x_college_type_2 => convert_int(cur_css_interface_rec.college_type_2),
2168 x_college_type_3 => convert_int(cur_css_interface_rec.college_type_3),
2169 x_college_type_4 => convert_int(cur_css_interface_rec.college_type_4),
2170 x_college_type_5 => convert_int(cur_css_interface_rec.college_type_5),
2171 x_college_type_6 => convert_int(cur_css_interface_rec.college_type_6),
2172 x_college_type_7 => convert_int(cur_css_interface_rec.college_type_7),
2173 x_college_type_8 => convert_int(cur_css_interface_rec.college_type_8),
2174 x_school_code_1 => cur_css_interface_rec.school_code_1,
2175 x_housing_code_1 => convert_int(cur_css_interface_rec.housing_code_1),
2176 x_school_code_2 => cur_css_interface_rec.school_code_2,
2177 x_housing_code_2 => convert_int(cur_css_interface_rec.housing_code_2),
2178 x_school_code_3 => cur_css_interface_rec.school_code_3,
2179 x_housing_code_3 => convert_int(cur_css_interface_rec.housing_code_3),
2180 x_school_code_4 => cur_css_interface_rec.school_code_4,
2181 x_housing_code_4 => convert_int(cur_css_interface_rec.housing_code_4),
2182 x_school_code_5 => cur_css_interface_rec.school_code_5,
2183 x_housing_code_5 => convert_int(cur_css_interface_rec.housing_code_5),
2184 x_school_code_6 => cur_css_interface_rec.school_code_6,
2185 x_housing_code_6 => convert_int(cur_css_interface_rec.housing_code_6),
2186 x_school_code_7 => cur_css_interface_rec.school_code_7,
2187 x_housing_code_7 => convert_int(cur_css_interface_rec.housing_code_7),
2188 x_school_code_8 => cur_css_interface_rec.school_code_8,
2189 x_housing_code_8 => convert_int(cur_css_interface_rec.housing_code_8),
2190 x_school_code_9 => cur_css_interface_rec.school_code_9,
2191 x_housing_code_9 => convert_int(cur_css_interface_rec.housing_code_9),
2192 x_school_code_10 => cur_css_interface_rec.school_code_10,
2193 x_housing_code_10 => convert_int(cur_css_interface_rec.housing_code_10),
2194 x_additional_school_code_1 => cur_css_interface_rec.additional_school_code_1,
2195 x_additional_school_code_2 => cur_css_interface_rec.additional_school_code_2,
2196 x_additional_school_code_3 => cur_css_interface_rec.additional_school_code_3,
2197 x_additional_school_code_4 => cur_css_interface_rec.additional_school_code_4,
2198 x_additional_school_code_5 => cur_css_interface_rec.additional_school_code_5,
2199 x_additional_school_code_6 => cur_css_interface_rec.additional_school_code_6,
2200 x_additional_school_code_7 => cur_css_interface_rec.additional_school_code_7,
2201 x_additional_school_code_8 => cur_css_interface_rec.additional_school_code_8,
2202 x_additional_school_code_9 => cur_css_interface_rec.additional_school_code_9,
2203 x_additional_school_code_10 => cur_css_interface_rec.additional_school_code_10,
2204 x_explanation_spec_circum => cur_css_interface_rec.explanation_spec_circum,
2205 x_signature_student => convert_int(cur_css_interface_rec.signature_student),
2206 x_signature_spouse => convert_int(cur_css_interface_rec.signature_spouse),
2207 x_signature_father => convert_int(cur_css_interface_rec.signature_father),
2208 x_signature_mother => convert_int(cur_css_interface_rec.signature_mother),
2209 x_month_day_completed => cur_css_interface_rec.month_day_completed,
2210 x_year_completed => convert_int(cur_css_interface_rec.year_completed),
2211 x_age_line_2 => convert_int(cur_css_interface_rec.age_line_2),
2212 x_age_line_3 => convert_int(cur_css_interface_rec.age_line_3),
2213 x_age_line_4 => convert_int(cur_css_interface_rec.age_line_4),
2214 x_age_line_5 => convert_int(cur_css_interface_rec.age_line_5),
2215 x_age_line_6 => convert_int(cur_css_interface_rec.age_line_6),
2216 x_age_line_7 => convert_int(cur_css_interface_rec.age_line_7),
2217 x_age_line_8 => convert_int(cur_css_interface_rec.age_line_8),
2218 x_a_online_signature => convert_int(cur_css_interface_rec.a_online_signature),
2219 x_question_1_number => cur_css_interface_rec.question_1_number,
2220 x_question_1_size => cur_css_interface_rec.question_1_size,
2221 x_question_1_answer => convert_int(cur_css_interface_rec.question_1_answer),
2222 x_question_2_number => cur_css_interface_rec.question_2_number,
2223 x_question_2_size => cur_css_interface_rec.question_2_size,
2224 x_question_2_answer => convert_int(cur_css_interface_rec.question_2_answer),
2225 x_question_3_number => cur_css_interface_rec.question_3_number,
2226 x_question_3_size => cur_css_interface_rec.question_3_size,
2227 x_question_3_answer => convert_int(cur_css_interface_rec.question_3_answer),
2228 x_question_4_number => cur_css_interface_rec.question_4_number,
2229 x_question_4_size => cur_css_interface_rec.question_4_size,
2230 x_question_4_answer => convert_int(cur_css_interface_rec.question_4_answer),
2231 x_question_5_number => cur_css_interface_rec.question_5_number,
2232 x_question_5_size => cur_css_interface_rec.question_5_size,
2233 x_question_5_answer => convert_int(cur_css_interface_rec.question_5_answer),
2234 x_question_6_number => cur_css_interface_rec.question_6_number,
2235 x_question_6_size => cur_css_interface_rec.question_6_size,
2236 x_question_6_answer => convert_int(cur_css_interface_rec.question_6_answer),
2237 x_question_7_number => cur_css_interface_rec.question_7_number,
2238 x_question_7_size => cur_css_interface_rec.question_7_size,
2239 x_question_7_answer => convert_int(cur_css_interface_rec.question_7_answer),
2240 x_question_8_number => cur_css_interface_rec.question_8_number,
2241 x_question_8_size => cur_css_interface_rec.question_8_size,
2242 x_question_8_answer => convert_int(cur_css_interface_rec.question_8_answer),
2243 x_question_9_number => cur_css_interface_rec.question_9_number,
2244 x_question_9_size => cur_css_interface_rec.question_9_size,
2245 x_question_9_answer => convert_int(cur_css_interface_rec.question_9_answer),
2246 x_question_10_number => cur_css_interface_rec.question_10_number,
2247 x_question_10_size => cur_css_interface_rec.question_10_size,
2248 x_question_10_answer => convert_int(cur_css_interface_rec.question_10_answer),
2249 x_question_11_number => cur_css_interface_rec.question_11_number,
2250 x_question_11_size => cur_css_interface_rec.question_11_size,
2251 x_question_11_answer => convert_int(cur_css_interface_rec.question_11_answer),
2252 x_question_12_number => cur_css_interface_rec.question_12_number,
2253 x_question_12_size => cur_css_interface_rec.question_12_size,
2254 x_question_12_answer => convert_int(cur_css_interface_rec.question_12_answer),
2255 x_question_13_number => cur_css_interface_rec.question_13_number,
2256 x_question_13_size => cur_css_interface_rec.question_13_size,
2257 x_question_13_answer => convert_int(cur_css_interface_rec.question_13_answer),
2258 x_question_14_number => cur_css_interface_rec.question_14_number,
2259 x_question_14_size => cur_css_interface_rec.question_14_size,
2260 x_question_14_answer => convert_int(cur_css_interface_rec.question_14_answer),
2261 x_question_15_number => cur_css_interface_rec.question_15_number,
2262 x_question_15_size => cur_css_interface_rec.question_15_size,
2263 x_question_15_answer => convert_int(cur_css_interface_rec.question_15_answer),
2264 x_question_16_number => cur_css_interface_rec.question_16_number,
2265 x_question_16_size => cur_css_interface_rec.question_16_size,
2266 x_question_16_answer => convert_int(cur_css_interface_rec.question_16_answer),
2267 x_question_17_number => cur_css_interface_rec.question_17_number,
2268 x_question_17_size => cur_css_interface_rec.question_17_size,
2269 x_question_17_answer => convert_int(cur_css_interface_rec.question_17_answer),
2270 x_question_18_number => cur_css_interface_rec.question_18_number,
2271 x_question_18_size => cur_css_interface_rec.question_18_size,
2272 x_question_18_answer => convert_int(cur_css_interface_rec.question_18_answer),
2273 x_question_19_number => cur_css_interface_rec.question_19_number,
2274 x_question_19_size => cur_css_interface_rec.question_19_size,
2275 x_question_19_answer => convert_int(cur_css_interface_rec.question_19_answer),
2276 x_question_20_number => cur_css_interface_rec.question_20_number,
2277 x_question_20_size => cur_css_interface_rec.question_20_size,
2278 x_question_20_answer => convert_int(cur_css_interface_rec.question_20_answer),
2279 x_question_21_number => cur_css_interface_rec.question_21_number,
2280 x_question_21_size => cur_css_interface_rec.question_21_size,
2281 x_question_21_answer => convert_int(cur_css_interface_rec.question_21_answer),
2282 x_question_22_number => cur_css_interface_rec.question_22_number,
2283 x_question_22_size => cur_css_interface_rec.question_22_size,
2284 x_question_22_answer => convert_int(cur_css_interface_rec.question_22_answer),
2285 x_question_23_number => cur_css_interface_rec.question_23_number,
2286 x_question_23_size => cur_css_interface_rec.question_23_size,
2287 x_question_23_answer => convert_int(cur_css_interface_rec.question_23_answer),
2288 x_question_24_number => cur_css_interface_rec.question_24_number,
2289 x_question_24_size => cur_css_interface_rec.question_24_size,
2290 x_question_24_answer => convert_int(cur_css_interface_rec.question_24_answer),
2291 x_question_25_number => cur_css_interface_rec.question_25_number,
2292 x_question_25_size => cur_css_interface_rec.question_25_size,
2293 x_question_25_answer => convert_int(cur_css_interface_rec.question_25_answer),
2294 x_question_26_number => cur_css_interface_rec.question_26_number,
2295 x_question_26_size => cur_css_interface_rec.question_26_size,
2296 x_question_26_answer => convert_int(cur_css_interface_rec.question_26_answer),
2297 x_question_27_number => cur_css_interface_rec.question_27_number,
2298 x_question_27_size => cur_css_interface_rec.question_27_size,
2299 x_question_27_answer => convert_int(cur_css_interface_rec.question_27_answer),
2300 x_question_28_number => cur_css_interface_rec.question_28_number,
2301 x_question_28_size => cur_css_interface_rec.question_28_size,
2302 x_question_28_answer => convert_int(cur_css_interface_rec.question_28_answer),
2303 x_question_29_number => cur_css_interface_rec.question_29_number,
2304 x_question_29_size => cur_css_interface_rec.question_29_size,
2305 x_question_29_answer => convert_int(cur_css_interface_rec.question_29_answer),
2306 x_question_30_number => cur_css_interface_rec.question_30_number,
2307 x_questions_30_size => cur_css_interface_rec.questions_30_size,
2308 x_question_30_answer => convert_int(cur_css_interface_rec.question_30_answer),
2309 x_legacy_record_flag => NULL,
2310 x_coa_duration_efc_amt => NULL,
2311 x_coa_duration_num => NULL,
2312 x_p_soc_sec_ben_student_amt => convert_int(cur_css_interface_rec.p_soc_sec_ben_student_amt),
2313 x_p_tuit_fee_deduct_amt => convert_int(cur_css_interface_rec.p_tuit_fee_deduct_amt),
2314 x_stu_lives_with_num => cur_css_interface_rec.stu_lives_with_num,
2315 x_stu_most_support_from_num => cur_css_interface_rec.stu_most_support_from_num,
2316 x_location_computer_num => cur_css_interface_rec.location_computer_num
2317 );
2318
2319 END LOOP;
2320
2321 EXCEPTION
2322 WHEN others THEN
2323 IF fnd_log.level_exception >= fnd_log.g_current_runtime_level THEN
2324 fnd_log.string(fnd_log.level_exception,'igf.plsql.igf_ap_profile_matching_pkg.create_profile_matched.exception','The exception is : ' || SQLERRM );
2325 END IF;
2326 FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXP');
2327 FND_MESSAGE.SET_TOKEN('NAME','IGF_AP_PROFILE_MATCHING_PKG.create_profile_matched:');
2328 IGS_GE_MSG_STACK.ADD;
2329 fnd_file.put_line(fnd_file.log,fnd_message.get || ' - '|| SQLERRM);
2330 log_debug_message('IGF_AP_PROFILE_MATCHING_PKG.create_profile_matched:'||SQLERRM);
2331 app_exception.raise_exception;
2332 END create_profile_matched;
2333
2334
2335 FUNCTION is_fa_base_record_present(pn_person_id igf_ap_match_details.person_id%TYPE,
2336 pn_cal_type igf_ap_person_match_all.ci_cal_type%TYPE,
2337 pn_sequence_number igf_ap_person_match_all.ci_sequence_number%TYPE,
2338 pn_base_id OUT NOCOPY igf_ap_fa_base_rec_all.base_id%TYPE
2339 )RETURN BOOLEAN IS
2340
2341 /*
2342 || Created By : Meghana
2343 || Created On : 11-jun-2001
2344 || Purpose : To check whether the newly imported student has any matched record present in the FA_BASE_REC table in th egiven award year.
2345 || Known limitations, enhancements or remarks :
2346 || Change History :
2347 || Who When What
2348 || (reverse chronological order - newest change first)
2349 */
2350
2351 -- Get all the records from base table which are having same person id and the given cal_type and sequence_number
2352 CURSOR cur_fa_base_record (pn_person_id NUMBER,
2353 pn_cal_type VARCHAR2,
2354 pn_sequence_number NUMBER
2355 ) IS
2356 SELECT ifb.base_id
2357 FROM igf_ap_fa_base_rec ifb
2358 WHERE ifb.person_id = pn_person_id
2359 AND ifb.ci_sequence_number = pn_sequence_number
2360 AND ifb.ci_cal_type = pn_cal_type;
2361
2362 BEGIN
2363
2364 -- If a base record is found for the given student then return 'TRUE' else return 'FALSE'
2365 FOR cur_fa_base_record_rec IN cur_fa_base_record ( pn_person_id, pn_cal_type, pn_sequence_number)
2366 LOOP
2367 pn_base_id := cur_fa_base_record_rec.base_id;
2368 RETURN TRUE;
2369 END LOOP;
2370 RETURN FALSE;
2371 EXCEPTION
2372 WHEN others THEN
2373 IF fnd_log.level_exception >= fnd_log.g_current_runtime_level THEN
2374 fnd_log.string(fnd_log.level_exception,'igf.plsql.igf_ap_profile_matching_pkg.is_fa_base_record_present.exception','The exception is : ' || SQLERRM );
2375 END IF;
2376 FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXP');
2377 FND_MESSAGE.SET_TOKEN('NAME','IGF_AP_PROFILE_MATCHING_PKG.is_fa_base_record_present:');
2378 IGS_GE_MSG_STACK.ADD;
2379 fnd_file.put_line(fnd_file.log,fnd_message.get || ' - '|| SQLERRM);
2380 log_debug_message('IGF_AP_PROFILE_MATCHING_PKG.is_fa_base_record_present:'||SQLERRM);
2381 app_exception.raise_exception;
2382 END is_fa_base_record_present;
2383
2384 PROCEDURE update_css_interface(pn_css_id igf_ap_css_interface_all.css_id%TYPE,
2385 pv_record_status igf_ap_css_interface_all.record_status%TYPE,
2386 pv_match_code VARCHAR2
2387 ) IS
2388
2389 /*
2390 || Created By : Meghana
2391 || Created On : 12-JUN-2001
2392 || Purpose : Update the record status to 'Matched / Unmatched' for all the successful/ non successfull persons.
2393 || Known limitations, enhancements or remarks :
2394 || Change History :
2395 || Who When What
2396 || (reverse chronological order - newest change first)
2397 */
2398 CURSOR cur_css_interface ( pn_css_id NUMBER) IS
2399 SELECT ROWID, iii.*
2400 FROM igf_ap_css_interface_all iii
2401 WHERE css_id = pn_css_id;
2402
2403 lv_rowid VARCHAR2(30);
2404 ln_org_id NUMBER ;
2405 retcode NUMBER;
2406 errbuf VARCHAR2(300);
2407
2408 BEGIN
2409
2410 -- Update record _status
2411 FOR cur_css_interface_rec IN cur_css_interface ( pn_css_id)
2412 LOOP
2413
2414 igf_ap_css_interface_pkg.update_row (
2415 X_Mode => 'R',
2416 x_rowid => cur_css_interface_rec.ROWID,
2417 x_css_id => cur_css_interface_rec.css_id,
2418 x_record_status => pv_record_status ,
2419 x_college_code => cur_css_interface_rec.college_code,
2420 x_academic_year => cur_css_interface_rec.academic_year,
2421 x_stu_record_type => cur_css_interface_rec.stu_record_type,
2422 x_css_id_number => cur_css_interface_rec.css_id_number,
2423 x_registration_receipt_date => cur_css_interface_rec.registration_receipt_date,
2424 x_registration_type => cur_css_interface_rec.registration_type,
2425 x_application_receipt_date => cur_css_interface_rec.application_receipt_date,
2426 x_application_type => cur_css_interface_rec.application_type,
2427 x_original_fnar_compute => cur_css_interface_rec.original_fnar_compute,
2428 x_revision_fnar_compute_date => cur_css_interface_rec.revision_fnar_compute_date,
2429 x_electronic_extract_date => cur_css_interface_rec.electronic_extract_date,
2430 x_institutional_reporting_type => cur_css_interface_rec.institutional_reporting_type,
2431 x_asr_receipt_date => cur_css_interface_rec.asr_receipt_date,
2432 x_last_name => cur_css_interface_rec.last_name,
2433 x_first_name => cur_css_interface_rec.first_name,
2434 x_middle_initial => cur_css_interface_rec.middle_initial,
2435 x_address_number_and_street => cur_css_interface_rec.address_number_and_street,
2436 x_city => cur_css_interface_rec.city,
2437 x_state_mailing => cur_css_interface_rec.state_mailing,
2438 x_zip_code => cur_css_interface_rec.zip_code,
2439 x_s_telephone_number => cur_css_interface_rec.s_telephone_number,
2440 x_s_title => cur_css_interface_rec.s_title,
2441 x_date_of_birth => cur_css_interface_rec.date_of_birth,
2442 x_social_security_number => cur_css_interface_rec.social_security_number,
2443 x_state_legal_residence => cur_css_interface_rec.state_legal_residence,
2444 x_foreign_address_indicator => cur_css_interface_rec.foreign_address_indicator,
2445 x_foreign_postal_code => cur_css_interface_rec.foreign_postal_code,
2446 x_country => cur_css_interface_rec.country,
2447 x_financial_aid_status => cur_css_interface_rec.financial_aid_status,
2448 x_year_in_college => cur_css_interface_rec.year_in_college,
2449 x_marital_status => cur_css_interface_rec.marital_status,
2450 x_ward_court => cur_css_interface_rec.ward_court,
2451 x_legal_dependents_other => cur_css_interface_rec.legal_dependents_other,
2452 x_household_size => cur_css_interface_rec.household_size,
2453 x_number_in_college => cur_css_interface_rec.number_in_college,
2454 x_citizenship_status => cur_css_interface_rec.citizenship_status,
2455 x_citizenship_country => cur_css_interface_rec.citizenship_country,
2456 x_visa_classification => cur_css_interface_rec.visa_classification,
2457 x_tax_figures => cur_css_interface_rec.tax_figures,
2458 x_number_exemptions => cur_css_interface_rec.number_exemptions,
2459 x_adjusted_gross_inc => cur_css_interface_rec.adjusted_gross_inc,
2460 x_us_tax_paid => cur_css_interface_rec.us_tax_paid,
2461 x_itemized_deductions => cur_css_interface_rec.itemized_deductions,
2462 x_stu_income_work => cur_css_interface_rec.stu_income_work,
2463 x_spouse_income_work => cur_css_interface_rec.spouse_income_work,
2464 x_divid_int_inc => cur_css_interface_rec.divid_int_inc,
2465 x_soc_sec_benefits => cur_css_interface_rec.soc_sec_benefits,
2466 x_welfare_tanf => cur_css_interface_rec.welfare_tanf,
2467 x_child_supp_rcvd => cur_css_interface_rec.child_supp_rcvd,
2468 x_earned_income_credit => cur_css_interface_rec.earned_income_credit,
2469 x_other_untax_income => cur_css_interface_rec.other_untax_income,
2470 x_tax_stu_aid => cur_css_interface_rec.tax_stu_aid,
2471 x_cash_sav_check => cur_css_interface_rec.cash_sav_check,
2472 x_ira_keogh => cur_css_interface_rec.ira_keogh,
2473 x_invest_value => cur_css_interface_rec.invest_value,
2474 x_invest_debt => cur_css_interface_rec.invest_debt,
2475 x_home_value => cur_css_interface_rec.home_value,
2476 x_home_debt => cur_css_interface_rec.home_debt,
2477 x_oth_real_value => cur_css_interface_rec.oth_real_value,
2478 x_oth_real_debt => cur_css_interface_rec.oth_real_debt,
2479 x_bus_farm_value => cur_css_interface_rec.bus_farm_value,
2480 x_bus_farm_debt => cur_css_interface_rec.bus_farm_debt,
2481 x_live_on_farm => cur_css_interface_rec.live_on_farm,
2482 x_home_purch_price => cur_css_interface_rec.home_purch_price,
2483 x_hope_ll_credit => cur_css_interface_rec.hope_ll_credit,
2484 x_home_purch_year => cur_css_interface_rec.home_purch_year,
2485 x_trust_amount => cur_css_interface_rec.trust_amount,
2486 x_trust_avail => cur_css_interface_rec.trust_avail,
2487 x_trust_estab => cur_css_interface_rec.trust_estab,
2488 x_child_support_paid => cur_css_interface_rec.child_support_paid,
2489 x_med_dent_expenses => cur_css_interface_rec.med_dent_expenses,
2490 x_vet_us => cur_css_interface_rec.vet_us,
2491 x_vet_ben_amount => cur_css_interface_rec.vet_ben_amount,
2492 x_vet_ben_months => cur_css_interface_rec.vet_ben_months,
2493 x_stu_summer_wages => cur_css_interface_rec.stu_summer_wages,
2494 x_stu_school_yr_wages => cur_css_interface_rec.stu_school_yr_wages,
2495 x_spouse_summer_wages => cur_css_interface_rec.spouse_summer_wages,
2496 x_spouse_school_yr_wages => cur_css_interface_rec.spouse_school_yr_wages,
2497 x_summer_other_tax_inc => cur_css_interface_rec.summer_other_tax_inc,
2498 x_school_yr_other_tax_inc => cur_css_interface_rec.school_yr_other_tax_inc,
2499 x_summer_untax_inc => cur_css_interface_rec.summer_untax_inc,
2500 x_school_yr_untax_inc => cur_css_interface_rec.school_yr_untax_inc,
2501 x_grants_schol_etc => cur_css_interface_rec.grants_schol_etc,
2502 x_tuit_benefits => cur_css_interface_rec.tuit_benefits,
2503 x_cont_parents => cur_css_interface_rec.cont_parents,
2504 x_cont_relatives => cur_css_interface_rec.cont_relatives,
2505 x_p_siblings_pre_tuit => cur_css_interface_rec.p_siblings_pre_tuit,
2506 x_p_student_pre_tuit => cur_css_interface_rec.p_student_pre_tuit,
2507 x_p_household_size => cur_css_interface_rec.p_household_size,
2508 x_p_number_in_college => cur_css_interface_rec.p_number_in_college,
2509 x_p_parents_in_college => cur_css_interface_rec.p_parents_in_college,
2510 x_p_marital_status => cur_css_interface_rec.p_marital_status,
2511 x_p_state_legal_residence => cur_css_interface_rec.p_state_legal_residence,
2512 x_p_natural_par_status => cur_css_interface_rec.p_natural_par_status,
2513 x_p_child_supp_paid => cur_css_interface_rec.p_child_supp_paid,
2514 x_p_repay_ed_loans => cur_css_interface_rec.p_repay_ed_loans,
2515 x_p_med_dent_expenses => cur_css_interface_rec.p_med_dent_expenses,
2516 x_p_tuit_paid_amount => cur_css_interface_rec.p_tuit_paid_amount,
2517 x_p_tuit_paid_number => cur_css_interface_rec.p_tuit_paid_number,
2518 x_p_exp_child_supp_paid => cur_css_interface_rec.p_exp_child_supp_paid,
2519 x_p_exp_repay_ed_loans => cur_css_interface_rec.p_exp_repay_ed_loans,
2520 x_p_exp_med_dent_expenses => cur_css_interface_rec.p_exp_med_dent_expenses,
2521 x_p_exp_tuit_pd_amount => cur_css_interface_rec.p_exp_tuit_pd_amount,
2522 x_p_exp_tuit_pd_number => cur_css_interface_rec.p_exp_tuit_pd_number,
2523 x_p_cash_sav_check => cur_css_interface_rec.p_cash_sav_check,
2524 x_p_month_mortgage_pay => cur_css_interface_rec.p_month_mortgage_pay,
2525 x_p_invest_value => cur_css_interface_rec.p_invest_value,
2526 x_p_invest_debt => cur_css_interface_rec.p_invest_debt,
2527 x_p_home_value => cur_css_interface_rec.p_home_value,
2528 x_p_home_debt => cur_css_interface_rec.p_home_debt,
2529 x_p_home_purch_price => cur_css_interface_rec.p_home_purch_price,
2530 x_p_own_business_farm => cur_css_interface_rec.p_own_business_farm,
2531 x_p_business_value => cur_css_interface_rec.p_business_value,
2532 x_p_business_debt => cur_css_interface_rec.p_business_debt,
2533 x_p_farm_value => cur_css_interface_rec.p_farm_value,
2534 x_p_farm_debt => cur_css_interface_rec.p_farm_debt,
2535 x_p_live_on_farm => cur_css_interface_rec.p_live_on_farm,
2536 x_p_oth_real_estate_value => cur_css_interface_rec.p_oth_real_estate_value,
2537 x_p_oth_real_estate_debt => cur_css_interface_rec.p_oth_real_estate_debt,
2538 x_p_oth_real_purch_price => cur_css_interface_rec.p_oth_real_purch_price,
2539 x_p_siblings_assets => cur_css_interface_rec.p_siblings_assets,
2540 x_p_home_purch_year => cur_css_interface_rec.p_home_purch_year,
2541 x_p_oth_real_purch_year => cur_css_interface_rec.p_oth_real_purch_year,
2542 x_p_prior_agi => cur_css_interface_rec.p_prior_agi,
2543 x_p_prior_us_tax_paid => cur_css_interface_rec.p_prior_us_tax_paid,
2544 x_p_prior_item_deductions => cur_css_interface_rec.p_prior_item_deductions,
2545 x_p_prior_other_untax_inc => cur_css_interface_rec.p_prior_other_untax_inc,
2546 x_p_tax_figures => cur_css_interface_rec.p_tax_figures,
2547 x_p_number_exemptions => cur_css_interface_rec.p_number_exemptions,
2548 x_p_adjusted_gross_inc => cur_css_interface_rec.p_adjusted_gross_inc,
2549 x_p_wages_sal_tips => cur_css_interface_rec.p_wages_sal_tips,
2550 x_p_interest_income => cur_css_interface_rec.p_interest_income,
2551 x_p_dividend_income => cur_css_interface_rec.p_dividend_income,
2552 x_p_net_inc_bus_farm => cur_css_interface_rec.p_net_inc_bus_farm,
2553 x_p_other_taxable_income => cur_css_interface_rec.p_other_taxable_income,
2554 x_p_adj_to_income => cur_css_interface_rec.p_adj_to_income,
2555 x_p_us_tax_paid => cur_css_interface_rec.p_us_tax_paid,
2556 x_p_itemized_deductions => cur_css_interface_rec.p_itemized_deductions,
2557 x_p_father_income_work => cur_css_interface_rec.p_father_income_work,
2558 x_p_mother_income_work => cur_css_interface_rec.p_mother_income_work,
2559 x_p_soc_sec_ben => cur_css_interface_rec.p_soc_sec_ben,
2560 x_p_welfare_tanf => cur_css_interface_rec.p_welfare_tanf,
2561 x_p_child_supp_rcvd => cur_css_interface_rec.p_child_supp_rcvd,
2562 x_p_ded_ira_keogh => cur_css_interface_rec.p_ded_ira_keogh,
2563 x_p_tax_defer_pens_savs => cur_css_interface_rec.p_tax_defer_pens_savs,
2564 x_p_dep_care_med_spending => cur_css_interface_rec.p_dep_care_med_spending,
2565 x_p_earned_income_credit => cur_css_interface_rec.p_earned_income_credit,
2566 x_p_living_allow => cur_css_interface_rec.p_living_allow,
2567 x_p_tax_exmpt_int => cur_css_interface_rec.p_tax_exmpt_int,
2568 x_p_foreign_inc_excl => cur_css_interface_rec.p_foreign_inc_excl,
2569 x_p_other_untax_inc => cur_css_interface_rec.p_other_untax_inc,
2570 x_p_hope_ll_credit => cur_css_interface_rec.p_hope_ll_credit,
2571 x_p_yr_separation => cur_css_interface_rec.p_yr_separation,
2572 x_p_yr_divorce => cur_css_interface_rec.p_yr_divorce,
2573 x_p_exp_father_inc => cur_css_interface_rec.p_exp_father_inc,
2574 x_p_exp_mother_inc => cur_css_interface_rec.p_exp_mother_inc,
2575 x_p_exp_other_tax_inc => cur_css_interface_rec.p_exp_other_tax_inc,
2576 x_p_exp_other_untax_inc => cur_css_interface_rec.p_exp_other_untax_inc,
2577 x_line_2_relation => cur_css_interface_rec.line_2_relation,
2578 x_line_2_attend_college => cur_css_interface_rec.line_2_attend_college,
2579 x_line_3_relation => cur_css_interface_rec.line_3_relation,
2580 x_line_3_attend_college => cur_css_interface_rec.line_3_attend_college,
2581 x_line_4_relation => cur_css_interface_rec.line_4_relation,
2582 x_line_4_attend_college => cur_css_interface_rec.line_4_attend_college,
2583 x_line_5_relation => cur_css_interface_rec.line_5_relation,
2584 x_line_5_attend_college => cur_css_interface_rec.line_5_attend_college,
2585 x_line_6_relation => cur_css_interface_rec.line_6_relation,
2586 x_line_6_attend_college => cur_css_interface_rec.line_6_attend_college,
2587 x_line_7_relation => cur_css_interface_rec.line_7_relation,
2588 x_line_7_attend_college => cur_css_interface_rec.line_7_attend_college,
2589 x_line_8_relation => cur_css_interface_rec.line_8_relation,
2590 x_line_8_attend_college => cur_css_interface_rec.line_8_attend_college,
2591 x_p_age_father => cur_css_interface_rec.p_age_father,
2592 x_p_age_mother => cur_css_interface_rec.p_age_mother,
2593 x_p_div_sep_ind => cur_css_interface_rec.p_div_sep_ind,
2594 x_b_cont_non_custodial_par => cur_css_interface_rec.b_cont_non_custodial_par,
2595 x_college_type_2 => cur_css_interface_rec.college_type_2,
2596 x_college_type_3 => cur_css_interface_rec.college_type_3,
2597 x_college_type_4 => cur_css_interface_rec.college_type_4,
2598 x_college_type_5 => cur_css_interface_rec.college_type_5,
2599 x_college_type_6 => cur_css_interface_rec.college_type_6,
2600 x_college_type_7 => cur_css_interface_rec.college_type_7,
2601 x_college_type_8 => cur_css_interface_rec.college_type_8,
2602 x_school_code_1 => cur_css_interface_rec.school_code_1,
2603 x_housing_code_1 => cur_css_interface_rec.housing_code_1,
2604 x_school_code_2 => cur_css_interface_rec.school_code_2,
2605 x_housing_code_2 => cur_css_interface_rec.housing_code_2,
2606 x_school_code_3 => cur_css_interface_rec.school_code_3,
2607 x_housing_code_3 => cur_css_interface_rec.housing_code_3,
2608 x_school_code_4 => cur_css_interface_rec.school_code_4,
2609 x_housing_code_4 => cur_css_interface_rec.housing_code_4,
2610 x_school_code_5 => cur_css_interface_rec.school_code_5,
2611 x_housing_code_5 => cur_css_interface_rec.housing_code_5,
2612 x_school_code_6 => cur_css_interface_rec.school_code_6,
2613 x_housing_code_6 => cur_css_interface_rec.housing_code_6,
2614 x_school_code_7 => cur_css_interface_rec.school_code_7,
2615 x_housing_code_7 => cur_css_interface_rec.housing_code_7,
2616 x_school_code_8 => cur_css_interface_rec.school_code_8,
2617 x_housing_code_8 => cur_css_interface_rec.housing_code_8,
2618 x_school_code_9 => cur_css_interface_rec.school_code_9,
2619 x_housing_code_9 => cur_css_interface_rec.housing_code_9,
2620 x_school_code_10 => cur_css_interface_rec.school_code_10,
2621 x_housing_code_10 => cur_css_interface_rec.housing_code_10,
2622 x_additional_school_code_1 => cur_css_interface_rec.additional_school_code_1,
2623 x_additional_school_code_2 => cur_css_interface_rec.additional_school_code_2,
2624 x_additional_school_code_3 => cur_css_interface_rec.additional_school_code_3,
2625 x_additional_school_code_4 => cur_css_interface_rec.additional_school_code_4,
2626 x_additional_school_code_5 => cur_css_interface_rec.additional_school_code_5,
2627 x_additional_school_code_6 => cur_css_interface_rec.additional_school_code_6,
2628 x_additional_school_code_7 => cur_css_interface_rec.additional_school_code_7,
2629 x_additional_school_code_8 => cur_css_interface_rec.additional_school_code_8,
2630 x_additional_school_code_9 => cur_css_interface_rec.additional_school_code_9,
2631 x_additional_school_code_10 => cur_css_interface_rec.additional_school_code_10,
2632 x_explanation_spec_circum => cur_css_interface_rec.explanation_spec_circum,
2633 x_signature_student => cur_css_interface_rec.signature_student,
2634 x_signature_spouse => cur_css_interface_rec.signature_spouse,
2635 x_signature_father => cur_css_interface_rec.signature_father,
2636 x_signature_mother => cur_css_interface_rec.signature_mother,
2637 x_month_day_completed => cur_css_interface_rec.month_day_completed,
2638 x_year_completed => cur_css_interface_rec.year_completed,
2639 x_age_line_2 => cur_css_interface_rec.age_line_2,
2640 x_age_line_3 => cur_css_interface_rec.age_line_3,
2641 x_age_line_4 => cur_css_interface_rec.age_line_4,
2642 x_age_line_5 => cur_css_interface_rec.age_line_5,
2643 x_age_line_6 => cur_css_interface_rec.age_line_6,
2644 x_age_line_7 => cur_css_interface_rec.age_line_7,
2645 x_age_line_8 => cur_css_interface_rec.age_line_8,
2646 x_a_online_signature => cur_css_interface_rec.a_online_signature,
2647 x_question_1_number => cur_css_interface_rec.question_1_number,
2648 x_question_1_size => cur_css_interface_rec.question_1_size,
2649 x_question_1_answer => cur_css_interface_rec.question_1_answer,
2650 x_question_2_number => cur_css_interface_rec.question_2_number,
2651 x_question_2_size => cur_css_interface_rec.question_2_size,
2652 x_question_2_answer => cur_css_interface_rec.question_2_answer,
2653 x_question_3_number => cur_css_interface_rec.question_3_number,
2654 x_question_3_size => cur_css_interface_rec.question_3_size,
2655 x_question_3_answer => cur_css_interface_rec.question_3_answer,
2656 x_question_4_number => cur_css_interface_rec.question_4_number,
2657 x_question_4_size => cur_css_interface_rec.question_4_size,
2658 x_question_4_answer => cur_css_interface_rec.question_4_answer,
2659 x_question_5_number => cur_css_interface_rec.question_5_number,
2660 x_question_5_size => cur_css_interface_rec.question_5_size,
2661 x_question_5_answer => cur_css_interface_rec.question_5_answer,
2662 x_question_6_number => cur_css_interface_rec.question_6_number,
2663 x_question_6_size => cur_css_interface_rec.question_6_size,
2664 x_question_6_answer => cur_css_interface_rec.question_6_answer,
2665 x_question_7_number => cur_css_interface_rec.question_7_number,
2666 x_question_7_size => cur_css_interface_rec.question_7_size,
2667 x_question_7_answer => cur_css_interface_rec.question_7_answer,
2668 x_question_8_number => cur_css_interface_rec.question_8_number,
2669 x_question_8_size => cur_css_interface_rec.question_8_size,
2670 x_question_8_answer => cur_css_interface_rec.question_8_answer,
2671 x_question_9_number => cur_css_interface_rec.question_9_number,
2672 x_question_9_size => cur_css_interface_rec.question_9_size,
2673 x_question_9_answer => cur_css_interface_rec.question_9_answer,
2674 x_question_10_number => cur_css_interface_rec.question_10_number,
2675 x_question_10_size => cur_css_interface_rec.question_10_size,
2676 x_question_10_answer => cur_css_interface_rec.question_10_answer,
2677 x_question_11_number => cur_css_interface_rec.question_11_number,
2678 x_question_11_size => cur_css_interface_rec.question_11_size,
2679 x_question_11_answer => cur_css_interface_rec.question_11_answer,
2680 x_question_12_number => cur_css_interface_rec.question_12_number,
2681 x_question_12_size => cur_css_interface_rec.question_12_size,
2682 x_question_12_answer => cur_css_interface_rec.question_12_answer,
2683 x_question_13_number => cur_css_interface_rec.question_13_number,
2684 x_question_13_size => cur_css_interface_rec.question_13_size,
2685 x_question_13_answer => cur_css_interface_rec.question_13_answer,
2686 x_question_14_number => cur_css_interface_rec.question_14_number,
2687 x_question_14_size => cur_css_interface_rec.question_14_size,
2688 x_question_14_answer => cur_css_interface_rec.question_14_answer,
2689 x_question_15_number => cur_css_interface_rec.question_15_number,
2690 x_question_15_size => cur_css_interface_rec.question_15_size,
2691 x_question_15_answer => cur_css_interface_rec.question_15_answer,
2692 x_question_16_number => cur_css_interface_rec.question_16_number,
2693 x_question_16_size => cur_css_interface_rec.question_16_size,
2694 x_question_16_answer => cur_css_interface_rec.question_16_answer,
2695 x_question_17_number => cur_css_interface_rec.question_17_number,
2696 x_question_17_size => cur_css_interface_rec.question_17_size,
2697 x_question_17_answer => cur_css_interface_rec.question_17_answer,
2698 x_question_18_number => cur_css_interface_rec.question_18_number,
2699 x_question_18_size => cur_css_interface_rec.question_18_size,
2700 x_question_18_answer => cur_css_interface_rec.question_18_answer,
2701 x_question_19_number => cur_css_interface_rec.question_19_number,
2702 x_question_19_size => cur_css_interface_rec.question_19_size,
2703 x_question_19_answer => cur_css_interface_rec.question_19_answer,
2704 x_question_20_number => cur_css_interface_rec.question_20_number,
2705 x_question_20_size => cur_css_interface_rec.question_20_size,
2706 x_question_20_answer => cur_css_interface_rec.question_20_answer,
2707 x_question_21_number => cur_css_interface_rec.question_21_number,
2708 x_question_21_size => cur_css_interface_rec.question_21_size,
2709 x_question_21_answer => cur_css_interface_rec.question_21_answer,
2710 x_question_22_number => cur_css_interface_rec.question_22_number,
2711 x_question_22_size => cur_css_interface_rec.question_22_size,
2712 x_question_22_answer => cur_css_interface_rec.question_22_answer,
2713 x_question_23_number => cur_css_interface_rec.question_23_number,
2714 x_question_23_size => cur_css_interface_rec.question_23_size,
2715 x_question_23_answer => cur_css_interface_rec.question_23_answer,
2716 x_question_24_number => cur_css_interface_rec.question_24_number,
2717 x_question_24_size => cur_css_interface_rec.question_24_size,
2718 x_question_24_answer => cur_css_interface_rec.question_24_answer,
2719 x_question_25_number => cur_css_interface_rec.question_25_number,
2720 x_question_25_size => cur_css_interface_rec.question_25_size,
2721 x_question_25_answer => cur_css_interface_rec.question_25_answer,
2722 x_question_26_number => cur_css_interface_rec.question_26_number,
2723 x_question_26_size => cur_css_interface_rec.question_26_size,
2724 x_question_26_answer => cur_css_interface_rec.question_26_answer,
2725 x_question_27_number => cur_css_interface_rec.question_27_number,
2726 x_question_27_size => cur_css_interface_rec.question_27_size,
2727 x_question_27_answer => cur_css_interface_rec.question_27_answer,
2728 x_question_28_number => cur_css_interface_rec.question_28_number,
2729 x_question_28_size => cur_css_interface_rec.question_28_size,
2730 x_question_28_answer => cur_css_interface_rec.question_28_answer,
2731 x_question_29_number => cur_css_interface_rec.question_29_number,
2732 x_question_29_size => cur_css_interface_rec.question_29_size,
2733 x_question_29_answer => cur_css_interface_rec.question_29_answer,
2734 x_question_30_number => cur_css_interface_rec.question_30_number,
2735 x_questions_30_size => cur_css_interface_rec.questions_30_size,
2736 x_question_30_answer => cur_css_interface_rec.question_30_answer,
2737 x_r_s_email_address => cur_css_interface_rec.r_s_email_address,
2738 x_eps_code => cur_css_interface_rec.eps_code,
2739 x_comp_css_dependency_status => cur_css_interface_rec.comp_css_dependency_status,
2740 x_stu_age => cur_css_interface_rec.stu_age,
2741 x_assumed_stu_yr_in_coll => cur_css_interface_rec.assumed_stu_yr_in_coll,
2742 x_comp_stu_marital_status => cur_css_interface_rec.comp_stu_marital_status,
2743 x_stu_family_members => cur_css_interface_rec.stu_family_members,
2744 x_stu_fam_members_in_college => cur_css_interface_rec.stu_fam_members_in_college,
2745 x_par_marital_status => cur_css_interface_rec.par_marital_status,
2746 x_par_family_members => cur_css_interface_rec.par_family_members,
2747 x_par_total_in_college => cur_css_interface_rec.par_total_in_college,
2748 x_par_par_in_college => cur_css_interface_rec.par_par_in_college,
2749 x_par_others_in_college => cur_css_interface_rec.par_others_in_college,
2750 x_par_aesa => cur_css_interface_rec.par_aesa,
2751 x_par_cesa => cur_css_interface_rec.par_cesa,
2752 x_stu_aesa => cur_css_interface_rec.stu_aesa,
2753 x_stu_cesa => cur_css_interface_rec.stu_cesa,
2754 x_im_p_bas_agi_taxable_income => cur_css_interface_rec.im_p_bas_agi_taxable_income,
2755 x_im_p_bas_untx_inc_and_ben => cur_css_interface_rec.im_p_bas_untx_inc_and_ben,
2756 x_im_p_bas_inc_adj => cur_css_interface_rec.im_p_bas_inc_adj,
2757 x_im_p_bas_total_income => cur_css_interface_rec.im_p_bas_total_income,
2758 x_im_p_bas_us_income_tax => cur_css_interface_rec.im_p_bas_us_income_tax,
2759 x_im_p_bas_st_and_other_tax => cur_css_interface_rec.im_p_bas_st_and_other_tax,
2760 x_im_p_bas_fica_tax => cur_css_interface_rec.im_p_bas_fica_tax,
2761 x_im_p_bas_med_dental => cur_css_interface_rec.im_p_bas_med_dental,
2762 x_im_p_bas_employment_allow => cur_css_interface_rec.im_p_bas_employment_allow,
2763 x_im_p_bas_annual_ed_savings => cur_css_interface_rec.im_p_bas_annual_ed_savings,
2764 x_im_p_bas_inc_prot_allow_m => cur_css_interface_rec.im_p_bas_inc_prot_allow_m,
2765 x_im_p_bas_total_inc_allow => cur_css_interface_rec.im_p_bas_total_inc_allow,
2766 x_im_p_bas_cal_avail_inc => cur_css_interface_rec.im_p_bas_cal_avail_inc,
2767 x_im_p_bas_avail_income => cur_css_interface_rec.im_p_bas_avail_income,
2768 x_im_p_bas_total_cont_inc => cur_css_interface_rec.im_p_bas_total_cont_inc,
2769 x_im_p_bas_cash_bank_accounts => cur_css_interface_rec.im_p_bas_cash_bank_accounts,
2770 x_im_p_bas_home_equity => cur_css_interface_rec.im_p_bas_home_equity,
2771 x_im_p_bas_ot_rl_est_inv_eq => cur_css_interface_rec.im_p_bas_ot_rl_est_inv_eq,
2772 x_im_p_bas_adj_bus_farm_worth => cur_css_interface_rec.im_p_bas_adj_bus_farm_worth,
2773 x_im_p_bas_ass_sibs_pre_tui => cur_css_interface_rec.im_p_bas_ass_sibs_pre_tui,
2774 x_im_p_bas_net_worth => cur_css_interface_rec.im_p_bas_net_worth,
2775 x_im_p_bas_emerg_res_allow => cur_css_interface_rec.im_p_bas_emerg_res_allow,
2776 x_im_p_bas_cum_ed_savings => cur_css_interface_rec.im_p_bas_cum_ed_savings,
2777 x_im_p_bas_low_inc_allow => cur_css_interface_rec.im_p_bas_low_inc_allow,
2778 x_im_p_bas_total_asset_allow => cur_css_interface_rec.im_p_bas_total_asset_allow,
2779 x_im_p_bas_disc_net_worth => cur_css_interface_rec.im_p_bas_disc_net_worth,
2780 x_im_p_bas_total_cont_asset => cur_css_interface_rec.im_p_bas_total_cont_asset,
2781 x_im_p_bas_total_cont => cur_css_interface_rec.im_p_bas_total_cont,
2782 x_im_p_bas_num_in_coll_adj => cur_css_interface_rec.im_p_bas_num_in_coll_adj,
2783 x_im_p_bas_cont_for_stu => cur_css_interface_rec.im_p_bas_cont_for_stu,
2784 x_im_p_bas_cont_from_income => cur_css_interface_rec.im_p_bas_cont_from_income,
2785 x_im_p_bas_cont_from_assets => cur_css_interface_rec.im_p_bas_cont_from_assets,
2786 x_im_p_opt_agi_taxable_income => cur_css_interface_rec.im_p_opt_agi_taxable_income,
2787 x_im_p_opt_untx_inc_and_ben => cur_css_interface_rec.im_p_opt_untx_inc_and_ben,
2788 x_im_p_opt_inc_adj => cur_css_interface_rec.im_p_opt_inc_adj,
2789 x_im_p_opt_total_income => cur_css_interface_rec.im_p_opt_total_income,
2790 x_im_p_opt_us_income_tax => cur_css_interface_rec.im_p_opt_us_income_tax,
2791 x_im_p_opt_st_and_other_tax => cur_css_interface_rec.im_p_opt_st_and_other_tax,
2792 x_im_p_opt_fica_tax => cur_css_interface_rec.im_p_opt_fica_tax,
2793 x_im_p_opt_med_dental => cur_css_interface_rec.im_p_opt_med_dental,
2794 x_im_p_opt_elem_sec_tuit => cur_css_interface_rec.im_p_opt_elem_sec_tuit,
2795 x_im_p_opt_employment_allow => cur_css_interface_rec.im_p_opt_employment_allow,
2796 x_im_p_opt_annual_ed_savings => cur_css_interface_rec.im_p_opt_annual_ed_savings,
2797 x_im_p_opt_inc_prot_allow_m => cur_css_interface_rec.im_p_opt_inc_prot_allow_m,
2798 x_im_p_opt_total_inc_allow => cur_css_interface_rec.im_p_opt_total_inc_allow,
2799 x_im_p_opt_cal_avail_inc => cur_css_interface_rec.im_p_opt_cal_avail_inc,
2800 x_im_p_opt_avail_income => cur_css_interface_rec.im_p_opt_avail_income,
2801 x_im_p_opt_total_cont_inc => cur_css_interface_rec.im_p_opt_total_cont_inc,
2802 x_im_p_opt_cash_bank_accounts => cur_css_interface_rec.im_p_opt_cash_bank_accounts,
2803 x_im_p_opt_home_equity => cur_css_interface_rec.im_p_opt_home_equity,
2804 x_im_p_opt_ot_rl_est_inv_eq => cur_css_interface_rec.im_p_opt_ot_rl_est_inv_eq,
2805 x_im_p_opt_adj_bus_farm_worth => cur_css_interface_rec.im_p_opt_adj_bus_farm_worth,
2806 x_im_p_opt_ass_sibs_pre_t => cur_css_interface_rec.im_p_opt_ass_sibs_pre_t,
2807 x_im_p_opt_net_worth => cur_css_interface_rec.im_p_opt_net_worth,
2808 x_im_p_opt_emerg_res_allow => cur_css_interface_rec.im_p_opt_emerg_res_allow,
2809 x_im_p_opt_cum_ed_savings => cur_css_interface_rec.im_p_opt_cum_ed_savings,
2810 x_im_p_opt_low_inc_allow => cur_css_interface_rec.im_p_opt_low_inc_allow,
2811 x_im_p_opt_total_asset_allow => cur_css_interface_rec.im_p_opt_total_asset_allow,
2812 x_im_p_opt_disc_net_worth => cur_css_interface_rec.im_p_opt_disc_net_worth,
2813 x_im_p_opt_total_cont_asset => cur_css_interface_rec.im_p_opt_total_cont_asset,
2814 x_im_p_opt_total_cont => cur_css_interface_rec.im_p_opt_total_cont,
2815 x_im_p_opt_num_in_coll_adj => cur_css_interface_rec.im_p_opt_num_in_coll_adj,
2816 x_im_p_opt_cont_for_stu => cur_css_interface_rec.im_p_opt_cont_for_stu,
2817 x_im_p_opt_cont_from_income => cur_css_interface_rec.im_p_opt_cont_from_income,
2818 x_im_p_opt_cont_from_assets => cur_css_interface_rec.im_p_opt_cont_from_assets,
2819 x_fm_p_analysis_type => cur_css_interface_rec.fm_p_analysis_type,
2820 x_fm_p_agi_taxable_income => cur_css_interface_rec.fm_p_agi_taxable_income,
2821 x_fm_p_untx_inc_and_ben => cur_css_interface_rec.fm_p_untx_inc_and_ben,
2822 x_fm_p_inc_adj => cur_css_interface_rec.fm_p_inc_adj,
2823 x_fm_p_total_income => cur_css_interface_rec.fm_p_total_income,
2824 x_fm_p_us_income_tax => cur_css_interface_rec.fm_p_us_income_tax,
2825 x_fm_p_state_and_other_taxes => cur_css_interface_rec.fm_p_state_and_other_taxes,
2826 x_fm_p_fica_tax => cur_css_interface_rec.fm_p_fica_tax,
2827 x_fm_p_employment_allow => cur_css_interface_rec.fm_p_employment_allow,
2828 x_fm_p_income_prot_allow => cur_css_interface_rec.fm_p_income_prot_allow,
2829 x_fm_p_total_allow => cur_css_interface_rec.fm_p_total_allow,
2830 x_fm_p_avail_income => cur_css_interface_rec.fm_p_avail_income,
2831 x_fm_p_cash_bank_accounts => cur_css_interface_rec.fm_p_cash_bank_accounts,
2832 x_fm_p_ot_rl_est_inv_eq => cur_css_interface_rec.fm_p_ot_rl_est_inv_eq,
2833 x_fm_p_adj_bus_farm_net_worth => cur_css_interface_rec.fm_p_adj_bus_farm_net_worth,
2834 x_fm_p_net_worth => cur_css_interface_rec.fm_p_net_worth,
2835 x_fm_p_asset_prot_allow => cur_css_interface_rec.fm_p_asset_prot_allow,
2836 x_fm_p_disc_net_worth => cur_css_interface_rec.fm_p_disc_net_worth,
2837 x_fm_p_total_contribution => cur_css_interface_rec.fm_p_total_contribution,
2838 x_fm_p_num_in_coll => cur_css_interface_rec.fm_p_num_in_coll,
2839 x_fm_p_cont_for_stu => cur_css_interface_rec.fm_p_cont_for_stu,
2840 x_fm_p_cont_from_income => cur_css_interface_rec.fm_p_cont_from_income,
2841 x_fm_p_cont_from_assets => cur_css_interface_rec.fm_p_cont_from_assets,
2842 x_im_s_bas_agi_taxable_income => cur_css_interface_rec.im_s_bas_agi_taxable_income,
2843 x_im_s_bas_untx_inc_and_ben => cur_css_interface_rec.im_s_bas_untx_inc_and_ben,
2844 x_im_s_bas_inc_adj => cur_css_interface_rec.im_s_bas_inc_adj,
2845 x_im_s_bas_total_income => cur_css_interface_rec.im_s_bas_total_income,
2846 x_im_s_bas_us_income_tax => cur_css_interface_rec.im_s_bas_us_income_tax,
2847 x_im_s_bas_st_and_oth_tax => cur_css_interface_rec.im_s_bas_st_and_oth_tax,
2848 x_im_s_bas_fica_tax => cur_css_interface_rec.im_s_bas_fica_tax,
2849 x_im_s_bas_med_dental => cur_css_interface_rec.im_s_bas_med_dental,
2850 x_im_s_bas_employment_allow => cur_css_interface_rec.im_s_bas_employment_allow,
2851 x_im_s_bas_annual_ed_savings => cur_css_interface_rec.im_s_bas_annual_ed_savings,
2852 x_im_s_bas_inc_prot_allow_m => cur_css_interface_rec.im_s_bas_inc_prot_allow_m,
2853 x_im_s_bas_total_inc_allow => cur_css_interface_rec.im_s_bas_total_inc_allow,
2854 x_im_s_bas_cal_avail_income => cur_css_interface_rec.im_s_bas_cal_avail_income,
2855 x_im_s_bas_avail_income => cur_css_interface_rec.im_s_bas_avail_income,
2856 x_im_s_bas_total_cont_inc => cur_css_interface_rec.im_s_bas_total_cont_inc,
2857 x_im_s_bas_cash_bank_accounts => cur_css_interface_rec.im_s_bas_cash_bank_accounts,
2858 x_im_s_bas_home_equity => cur_css_interface_rec.im_s_bas_home_equity,
2859 x_im_s_bas_ot_rl_est_inv_eq => cur_css_interface_rec.im_s_bas_ot_rl_est_inv_eq,
2860 x_im_s_bas_adj_bus_farm_worth => cur_css_interface_rec.im_s_bas_adj_bus_farm_worth,
2861 x_im_s_bas_trusts => cur_css_interface_rec.im_s_bas_trusts,
2862 x_im_s_bas_net_worth => cur_css_interface_rec.im_s_bas_net_worth,
2863 x_im_s_bas_emerg_res_allow => cur_css_interface_rec.im_s_bas_emerg_res_allow,
2864 x_im_s_bas_cum_ed_savings => cur_css_interface_rec.im_s_bas_cum_ed_savings,
2865 x_im_s_bas_total_asset_allow => cur_css_interface_rec.im_s_bas_total_asset_allow,
2866 x_im_s_bas_disc_net_worth => cur_css_interface_rec.im_s_bas_disc_net_worth,
2867 x_im_s_bas_total_cont_asset => cur_css_interface_rec.im_s_bas_total_cont_asset,
2868 x_im_s_bas_total_cont => cur_css_interface_rec.im_s_bas_total_cont,
2869 x_im_s_bas_num_in_coll_adj => cur_css_interface_rec.im_s_bas_num_in_coll_adj,
2870 x_im_s_bas_cont_for_stu => cur_css_interface_rec.im_s_bas_cont_for_stu,
2871 x_im_s_bas_cont_from_income => cur_css_interface_rec.im_s_bas_cont_from_income,
2872 x_im_s_bas_cont_from_assets => cur_css_interface_rec.im_s_bas_cont_from_assets,
2873 x_im_s_est_agi_taxable_income => cur_css_interface_rec.im_s_est_agi_taxable_income,
2874 x_im_s_est_untx_inc_and_ben => cur_css_interface_rec.im_s_est_untx_inc_and_ben,
2875 x_im_s_est_inc_adj => cur_css_interface_rec.im_s_est_inc_adj,
2876 x_im_s_est_total_income => cur_css_interface_rec.im_s_est_total_income,
2877 x_im_s_est_us_income_tax => cur_css_interface_rec.im_s_est_us_income_tax,
2878 x_im_s_est_st_and_oth_tax => cur_css_interface_rec.im_s_est_st_and_oth_tax,
2879 x_im_s_est_fica_tax => cur_css_interface_rec.im_s_est_fica_tax,
2880 x_im_s_est_med_dental => cur_css_interface_rec.im_s_est_med_dental,
2881 x_im_s_est_employment_allow => cur_css_interface_rec.im_s_est_employment_allow,
2882 x_im_s_est_annual_ed_savings => cur_css_interface_rec.im_s_est_annual_ed_savings,
2883 x_im_s_est_inc_prot_allow_m => cur_css_interface_rec.im_s_est_inc_prot_allow_m,
2884 x_im_s_est_total_inc_allow => cur_css_interface_rec.im_s_est_total_inc_allow,
2885 x_im_s_est_cal_avail_income => cur_css_interface_rec.im_s_est_cal_avail_income,
2886 x_im_s_est_avail_income => cur_css_interface_rec.im_s_est_avail_income,
2887 x_im_s_est_total_cont_inc => cur_css_interface_rec.im_s_est_total_cont_inc,
2888 x_im_s_est_cash_bank_accounts => cur_css_interface_rec.im_s_est_cash_bank_accounts,
2889 x_im_s_est_home_equity => cur_css_interface_rec.im_s_est_home_equity,
2890 x_im_s_est_ot_rl_est_inv_equ => cur_css_interface_rec.im_s_est_ot_rl_est_inv_equ,
2891 x_im_s_est_adj_bus_farm_worth => cur_css_interface_rec.im_s_est_adj_bus_farm_worth,
2892 x_im_s_est_est_trusts => cur_css_interface_rec.im_s_est_est_trusts,
2893 x_im_s_est_net_worth => cur_css_interface_rec.im_s_est_net_worth,
2894 x_im_s_est_emerg_res_allow => cur_css_interface_rec.im_s_est_emerg_res_allow,
2895 x_im_s_est_cum_ed_savings => cur_css_interface_rec.im_s_est_cum_ed_savings,
2896 x_im_s_est_total_asset_allow => cur_css_interface_rec.im_s_est_total_asset_allow,
2897 x_im_s_est_disc_net_worth => cur_css_interface_rec.im_s_est_disc_net_worth,
2898 x_im_s_est_total_cont_asset => cur_css_interface_rec.im_s_est_total_cont_asset,
2899 x_im_s_est_total_cont => cur_css_interface_rec.im_s_est_total_cont,
2900 x_im_s_est_num_in_coll_adj => cur_css_interface_rec.im_s_est_num_in_coll_adj,
2901 x_im_s_est_cont_for_stu => cur_css_interface_rec.im_s_est_cont_for_stu,
2902 x_im_s_est_cont_from_income => cur_css_interface_rec.im_s_est_cont_from_income,
2903 x_im_s_est_cont_from_assets => cur_css_interface_rec.im_s_est_cont_from_assets,
2904 x_im_s_opt_agi_taxable_income => cur_css_interface_rec.im_s_opt_agi_taxable_income,
2905 x_im_s_opt_untx_inc_and_ben => cur_css_interface_rec.im_s_opt_untx_inc_and_ben,
2906 x_im_s_opt_inc_adj => cur_css_interface_rec.im_s_opt_inc_adj,
2907 x_im_s_opt_total_income => cur_css_interface_rec.im_s_opt_total_income,
2908 x_im_s_opt_us_income_tax => cur_css_interface_rec.im_s_opt_us_income_tax,
2909 x_im_s_opt_state_and_oth_taxes => cur_css_interface_rec.im_s_opt_state_and_oth_taxes,
2910 x_im_s_opt_fica_tax => cur_css_interface_rec.im_s_opt_fica_tax,
2911 x_im_s_opt_med_dental => cur_css_interface_rec.im_s_opt_med_dental,
2912 x_im_s_opt_employment_allow => cur_css_interface_rec.im_s_opt_employment_allow,
2913 x_im_s_opt_annual_ed_savings => cur_css_interface_rec.im_s_opt_annual_ed_savings,
2914 x_im_s_opt_inc_prot_allow_m => cur_css_interface_rec.im_s_opt_inc_prot_allow_m,
2915 x_im_s_opt_total_inc_allow => cur_css_interface_rec.im_s_opt_total_inc_allow,
2916 x_im_s_opt_cal_avail_income => cur_css_interface_rec.im_s_opt_cal_avail_income,
2917 x_im_s_opt_avail_income => cur_css_interface_rec.im_s_opt_avail_income,
2918 x_im_s_opt_total_cont_inc => cur_css_interface_rec.im_s_opt_total_cont_inc,
2919 x_im_s_opt_cash_bank_accounts => cur_css_interface_rec.im_s_opt_cash_bank_accounts,
2920 x_im_s_opt_ira_keogh_accounts => cur_css_interface_rec.im_s_opt_ira_keogh_accounts,
2921 x_im_s_opt_home_equity => cur_css_interface_rec.im_s_opt_home_equity,
2922 x_im_s_opt_ot_rl_est_inv_eq => cur_css_interface_rec.im_s_opt_ot_rl_est_inv_eq,
2923 x_im_s_opt_adj_bus_farm_worth => cur_css_interface_rec.im_s_opt_adj_bus_farm_worth,
2924 x_im_s_opt_trusts => cur_css_interface_rec.im_s_opt_trusts,
2925 x_im_s_opt_net_worth => cur_css_interface_rec.im_s_opt_net_worth,
2926 x_im_s_opt_emerg_res_allow => cur_css_interface_rec.im_s_opt_emerg_res_allow,
2927 x_im_s_opt_cum_ed_savings => cur_css_interface_rec.im_s_opt_cum_ed_savings,
2928 x_im_s_opt_total_asset_allow => cur_css_interface_rec.im_s_opt_total_asset_allow,
2929 x_im_s_opt_disc_net_worth => cur_css_interface_rec.im_s_opt_disc_net_worth,
2930 x_im_s_opt_total_cont_asset => cur_css_interface_rec.im_s_opt_total_cont_asset,
2931 x_im_s_opt_total_cont => cur_css_interface_rec.im_s_opt_total_cont,
2932 x_im_s_opt_num_in_coll_adj => cur_css_interface_rec.im_s_opt_num_in_coll_adj,
2933 x_im_s_opt_cont_for_stu => cur_css_interface_rec.im_s_opt_cont_for_stu,
2934 x_im_s_opt_cont_from_income => cur_css_interface_rec.im_s_opt_cont_from_income,
2935 x_im_s_opt_cont_from_assets => cur_css_interface_rec.im_s_opt_cont_from_assets,
2936 x_fm_s_analysis_type => cur_css_interface_rec.fm_s_analysis_type,
2937 x_fm_s_agi_taxable_income => cur_css_interface_rec.fm_s_agi_taxable_income,
2938 x_fm_s_untx_inc_and_ben => cur_css_interface_rec.fm_s_untx_inc_and_ben,
2939 x_fm_s_inc_adj => cur_css_interface_rec.fm_s_inc_adj,
2940 x_fm_s_total_income => cur_css_interface_rec.fm_s_total_income,
2941 x_fm_s_us_income_tax => cur_css_interface_rec.fm_s_us_income_tax,
2942 x_fm_s_state_and_oth_taxes => cur_css_interface_rec.fm_s_state_and_oth_taxes,
2943 x_fm_s_fica_tax => cur_css_interface_rec.fm_s_fica_tax,
2944 x_fm_s_employment_allow => cur_css_interface_rec.fm_s_employment_allow,
2945 x_fm_s_income_prot_allow => cur_css_interface_rec.fm_s_income_prot_allow,
2946 x_fm_s_total_allow => cur_css_interface_rec.fm_s_total_allow,
2947 x_fm_s_cal_avail_income => cur_css_interface_rec.fm_s_cal_avail_income,
2948 x_fm_s_avail_income => cur_css_interface_rec.fm_s_avail_income,
2949 x_fm_s_cash_bank_accounts => cur_css_interface_rec.fm_s_cash_bank_accounts,
2950 x_fm_s_ot_rl_est_inv_equity => cur_css_interface_rec.fm_s_ot_rl_est_inv_equity,
2951 x_fm_s_adj_bus_farm_worth => cur_css_interface_rec.fm_s_adj_bus_farm_worth,
2952 x_fm_s_trusts => cur_css_interface_rec.fm_s_trusts,
2953 x_fm_s_net_worth => cur_css_interface_rec.fm_s_net_worth,
2954 x_fm_s_asset_prot_allow => cur_css_interface_rec.fm_s_asset_prot_allow,
2955 x_fm_s_disc_net_worth => cur_css_interface_rec.fm_s_disc_net_worth,
2956 x_fm_s_total_cont => cur_css_interface_rec.fm_s_total_cont,
2957 x_fm_s_num_in_coll => cur_css_interface_rec.fm_s_num_in_coll,
2958 x_fm_s_cont_for_stu => cur_css_interface_rec.fm_s_cont_for_stu,
2959 x_fm_s_cont_from_income => cur_css_interface_rec.fm_s_cont_from_income,
2960 x_fm_s_cont_from_assets => cur_css_interface_rec.fm_s_cont_from_assets,
2961 x_im_inst_resident_ind => cur_css_interface_rec.im_inst_resident_ind,
2962 x_institutional_1_budget_name => cur_css_interface_rec.institutional_1_budget_name,
2963 x_im_inst_1_budget_duration => cur_css_interface_rec.im_inst_1_budget_duration,
2964 x_im_inst_1_tuition_fees => cur_css_interface_rec.im_inst_1_tuition_fees,
2965 x_im_inst_1_books_supplies => cur_css_interface_rec.im_inst_1_books_supplies,
2966 x_im_inst_1_living_expenses => cur_css_interface_rec.im_inst_1_living_expenses,
2967 x_im_inst_1_tot_expenses => cur_css_interface_rec.im_inst_1_tot_expenses,
2968 x_im_inst_1_tot_stu_cont => cur_css_interface_rec.im_inst_1_tot_stu_cont,
2969 x_im_inst_1_tot_par_cont => cur_css_interface_rec.im_inst_1_tot_par_cont,
2970 x_im_inst_1_tot_family_cont => cur_css_interface_rec.im_inst_1_tot_family_cont,
2971 x_im_inst_1_va_benefits => cur_css_interface_rec.im_inst_1_va_benefits,
2972 x_im_inst_1_ot_cont => cur_css_interface_rec.im_inst_1_ot_cont,
2973 x_im_inst_1_est_financial_need => cur_css_interface_rec.im_inst_1_est_financial_need,
2974 x_institutional_2_budget_name => cur_css_interface_rec.institutional_2_budget_name,
2975 x_im_inst_2_budget_duration => cur_css_interface_rec.im_inst_2_budget_duration,
2976 x_im_inst_2_tuition_fees => cur_css_interface_rec.im_inst_2_tuition_fees,
2977 x_im_inst_2_books_supplies => cur_css_interface_rec.im_inst_2_books_supplies,
2978 x_im_inst_2_living_expenses => cur_css_interface_rec.im_inst_2_living_expenses,
2979 x_im_inst_2_tot_expenses => cur_css_interface_rec.im_inst_2_tot_expenses,
2980 x_im_inst_2_tot_stu_cont => cur_css_interface_rec.im_inst_2_tot_stu_cont,
2981 x_im_inst_2_tot_par_cont => cur_css_interface_rec.im_inst_2_tot_par_cont,
2982 x_im_inst_2_tot_family_cont => cur_css_interface_rec.im_inst_2_tot_family_cont,
2983 x_im_inst_2_va_benefits => cur_css_interface_rec.im_inst_2_va_benefits,
2984 x_im_inst_2_est_financial_need => cur_css_interface_rec.im_inst_2_est_financial_need,
2985 x_institutional_3_budget_name => cur_css_interface_rec.institutional_3_budget_name,
2986 x_im_inst_3_budget_duration => cur_css_interface_rec.im_inst_3_budget_duration,
2987 x_im_inst_3_tuition_fees => cur_css_interface_rec.im_inst_3_tuition_fees,
2988 x_im_inst_3_books_supplies => cur_css_interface_rec.im_inst_3_books_supplies,
2989 x_im_inst_3_living_expenses => cur_css_interface_rec.im_inst_3_living_expenses,
2990 x_im_inst_3_tot_expenses => cur_css_interface_rec.im_inst_3_tot_expenses,
2991 x_im_inst_3_tot_stu_cont => cur_css_interface_rec.im_inst_3_tot_stu_cont,
2992 x_im_inst_3_tot_par_cont => cur_css_interface_rec.im_inst_3_tot_par_cont,
2993 x_im_inst_3_tot_family_cont => cur_css_interface_rec.im_inst_3_tot_family_cont,
2994 x_im_inst_3_va_benefits => cur_css_interface_rec.im_inst_3_va_benefits,
2995 x_im_inst_3_est_financial_need => cur_css_interface_rec.im_inst_3_est_financial_need,
2996 x_fm_inst_1_federal_efc => cur_css_interface_rec.fm_inst_1_federal_efc,
2997 x_fm_inst_1_va_benefits => cur_css_interface_rec.fm_inst_1_va_benefits,
2998 x_fm_inst_1_fed_eligibility => cur_css_interface_rec.fm_inst_1_fed_eligibility,
2999 x_fm_inst_1_pell => cur_css_interface_rec.fm_inst_1_pell,
3000 x_option_par_loss_allow_ind => cur_css_interface_rec.option_par_loss_allow_ind,
3001 x_option_par_tuition_ind => cur_css_interface_rec.option_par_tuition_ind,
3002 x_option_par_home_ind => cur_css_interface_rec.option_par_home_ind,
3003 x_option_par_home_value => cur_css_interface_rec.option_par_home_value,
3004 x_option_par_home_debt => cur_css_interface_rec.option_par_home_debt,
3005 x_option_stu_ira_keogh_ind => cur_css_interface_rec.option_stu_ira_keogh_ind,
3006 x_option_stu_home_ind => cur_css_interface_rec.option_stu_home_ind,
3007 x_option_stu_home_value => cur_css_interface_rec.option_stu_home_value,
3008 x_option_stu_home_debt => cur_css_interface_rec.option_stu_home_debt,
3009 x_option_stu_sum_ay_inc_ind => cur_css_interface_rec.option_stu_sum_ay_inc_ind,
3010 x_option_par_hope_ll_credit => cur_css_interface_rec.option_par_hope_ll_credit,
3011 x_option_stu_hope_ll_credit => cur_css_interface_rec.option_stu_hope_ll_credit,
3012 x_im_parent_1_8_months_bas => cur_css_interface_rec.im_parent_1_8_months_bas,
3013 x_im_p_more_than_9_mth_ba => cur_css_interface_rec.im_p_more_than_9_mth_ba,
3014 x_im_parent_1_8_months_opt => cur_css_interface_rec.im_parent_1_8_months_opt,
3015 x_im_p_more_than_9_mth_op => cur_css_interface_rec.im_p_more_than_9_mth_op,
3016 x_fnar_message_1 => cur_css_interface_rec.fnar_message_1,
3017 x_fnar_message_2 => cur_css_interface_rec.fnar_message_2,
3018 x_fnar_message_3 => cur_css_interface_rec.fnar_message_3,
3019 x_fnar_message_4 => cur_css_interface_rec.fnar_message_4,
3020 x_fnar_message_5 => cur_css_interface_rec.fnar_message_5,
3021 x_fnar_message_6 => cur_css_interface_rec.fnar_message_6,
3022 x_fnar_message_7 => cur_css_interface_rec.fnar_message_7,
3023 x_fnar_message_8 => cur_css_interface_rec.fnar_message_8,
3024 x_fnar_message_9 => cur_css_interface_rec.fnar_message_9,
3025 x_fnar_message_10 => cur_css_interface_rec.fnar_message_10,
3026 x_fnar_message_11 => cur_css_interface_rec.fnar_message_11,
3027 x_fnar_message_12 => cur_css_interface_rec.fnar_message_12,
3028 x_fnar_message_13 => cur_css_interface_rec.fnar_message_13,
3029 x_fnar_message_20 => cur_css_interface_rec.fnar_message_20,
3030 x_fnar_message_21 => cur_css_interface_rec.fnar_message_21,
3031 x_fnar_message_22 => cur_css_interface_rec.fnar_message_22,
3032 x_fnar_message_23 => cur_css_interface_rec.fnar_message_23,
3033 x_fnar_message_24 => cur_css_interface_rec.fnar_message_24,
3034 x_fnar_message_25 => cur_css_interface_rec.fnar_message_25,
3035 x_fnar_message_26 => cur_css_interface_rec.fnar_message_26,
3036 x_fnar_message_27 => cur_css_interface_rec.fnar_message_27,
3037 x_fnar_message_30 => cur_css_interface_rec.fnar_message_30,
3038 x_fnar_message_31 => cur_css_interface_rec.fnar_message_31,
3039 x_fnar_message_32 => cur_css_interface_rec.fnar_message_32,
3040 x_fnar_message_33 => cur_css_interface_rec.fnar_message_33,
3041 x_fnar_message_34 => cur_css_interface_rec.fnar_message_34,
3042 x_fnar_message_35 => cur_css_interface_rec.fnar_message_35,
3043 x_fnar_message_36 => cur_css_interface_rec.fnar_message_36,
3044 x_fnar_message_37 => cur_css_interface_rec.fnar_message_37,
3045 x_fnar_message_38 => cur_css_interface_rec.fnar_message_38,
3046 x_fnar_message_39 => cur_css_interface_rec.fnar_message_39,
3047 x_fnar_message_45 => cur_css_interface_rec.fnar_message_45,
3048 x_fnar_message_46 => cur_css_interface_rec.fnar_message_46,
3049 x_fnar_message_47 => cur_css_interface_rec.fnar_message_47,
3050 x_fnar_message_48 => cur_css_interface_rec.fnar_message_48,
3051 x_fnar_message_50 => cur_css_interface_rec.fnar_message_50,
3052 x_fnar_message_51 => cur_css_interface_rec.fnar_message_51,
3053 x_fnar_message_52 => cur_css_interface_rec.fnar_message_52,
3054 x_fnar_message_53 => cur_css_interface_rec.fnar_message_53,
3055 x_fnar_message_56 => cur_css_interface_rec.fnar_message_56,
3056 x_fnar_message_57 => cur_css_interface_rec.fnar_message_57,
3057 x_fnar_message_58 => cur_css_interface_rec.fnar_message_58,
3058 x_fnar_message_59 => cur_css_interface_rec.fnar_message_59,
3059 x_fnar_message_60 => cur_css_interface_rec.fnar_message_60,
3060 x_fnar_message_61 => cur_css_interface_rec.fnar_message_61,
3061 x_fnar_message_62 => cur_css_interface_rec.fnar_message_62,
3062 x_fnar_message_63 => cur_css_interface_rec.fnar_message_63,
3063 x_fnar_message_64 => cur_css_interface_rec.fnar_message_64,
3064 x_fnar_message_65 => cur_css_interface_rec.fnar_message_65,
3065 x_fnar_message_71 => cur_css_interface_rec.fnar_message_71,
3066 x_fnar_message_72 => cur_css_interface_rec.fnar_message_72,
3067 x_fnar_message_73 => cur_css_interface_rec.fnar_message_73,
3068 x_fnar_message_74 => cur_css_interface_rec.fnar_message_74,
3069 x_fnar_message_75 => cur_css_interface_rec.fnar_message_75,
3070 x_fnar_message_76 => cur_css_interface_rec.fnar_message_76,
3071 x_fnar_message_77 => cur_css_interface_rec.fnar_message_77,
3072 x_fnar_message_78 => cur_css_interface_rec.fnar_message_78,
3073 x_fnar_mesg_10_stu_fam_mem => cur_css_interface_rec.fnar_mesg_10_stu_fam_mem,
3074 x_fnar_mesg_11_stu_no_in_coll => cur_css_interface_rec.fnar_mesg_11_stu_no_in_coll,
3075 x_fnar_mesg_24_stu_avail_inc => cur_css_interface_rec.fnar_mesg_24_stu_avail_inc,
3076 x_fnar_mesg_26_stu_taxes => cur_css_interface_rec.fnar_mesg_26_stu_taxes,
3077 x_fnar_mesg_33_stu_home_value => cur_css_interface_rec.fnar_mesg_33_stu_home_value,
3078 x_fnar_mesg_34_stu_home_value => cur_css_interface_rec.fnar_mesg_34_stu_home_value,
3079 x_fnar_mesg_34_stu_home_equity => cur_css_interface_rec.fnar_mesg_34_stu_home_equity,
3080 x_fnar_mesg_35_stu_home_value => cur_css_interface_rec.fnar_mesg_35_stu_home_value,
3081 x_fnar_mesg_35_stu_home_equity => cur_css_interface_rec.fnar_mesg_35_stu_home_equity,
3082 x_fnar_mesg_36_stu_home_equity => cur_css_interface_rec.fnar_mesg_36_stu_home_equity,
3083 x_fnar_mesg_48_par_fam_mem => cur_css_interface_rec.fnar_mesg_48_par_fam_mem,
3084 x_fnar_mesg_49_par_no_in_coll => cur_css_interface_rec.fnar_mesg_49_par_no_in_coll,
3085 x_fnar_mesg_56_par_agi => cur_css_interface_rec.fnar_mesg_56_par_agi,
3086 x_fnar_mesg_62_par_taxes => cur_css_interface_rec.fnar_mesg_62_par_taxes,
3087 x_fnar_mesg_73_par_home_value => cur_css_interface_rec.fnar_mesg_73_par_home_value,
3088 x_fnar_mesg_74_par_home_value => cur_css_interface_rec.fnar_mesg_74_par_home_value,
3089 x_fnar_mesg_74_par_home_equity => cur_css_interface_rec.fnar_mesg_74_par_home_equity,
3090 x_fnar_mesg_75_par_home_value => cur_css_interface_rec.fnar_mesg_75_par_home_value,
3091 x_fnar_mesg_75_par_home_equity => cur_css_interface_rec.fnar_mesg_75_par_home_equity,
3092 x_fnar_mesg_76_par_home_equity => cur_css_interface_rec.fnar_mesg_76_par_home_equity,
3093 x_assumption_message_1 => cur_css_interface_rec.assumption_message_1,
3094 x_assumption_message_2 => cur_css_interface_rec.assumption_message_2,
3095 x_assumption_message_3 => cur_css_interface_rec.assumption_message_3,
3096 x_assumption_message_4 => cur_css_interface_rec.assumption_message_4,
3097 x_assumption_message_5 => cur_css_interface_rec.assumption_message_5,
3098 x_assumption_message_6 => cur_css_interface_rec.assumption_message_6,
3099 x_record_mark => cur_css_interface_rec.record_mark,
3100 x_option_par_cola_adj_ind => cur_css_interface_rec.option_par_cola_adj_ind,
3101 x_option_par_stu_fa_assets_ind => cur_css_interface_rec.option_par_stu_fa_assets_ind,
3102 x_option_par_ipt_assets_ind => cur_css_interface_rec.option_par_ipt_assets_ind,
3103 x_option_stu_ipt_assets_ind => cur_css_interface_rec.option_stu_ipt_assets_ind,
3104 x_option_par_cola_adj_value => cur_css_interface_rec.option_par_cola_adj_value,
3105 x_fnar_message_49 => cur_css_interface_rec.fnar_message_49,
3106 x_fnar_message_55 => cur_css_interface_rec.fnar_message_55,
3107 x_p_soc_sec_ben_student_amt => cur_css_interface_rec.p_soc_sec_ben_student_amt,
3108 x_p_tuit_fee_deduct_amt => cur_css_interface_rec.p_tuit_fee_deduct_amt,
3109 x_opt_ind_stu_ipt_assets_flag => cur_css_interface_rec.option_ind_stu_ipt_assets_flag,
3110 x_stu_lives_with_num => cur_css_interface_rec.stu_lives_with_num,
3111 x_stu_most_support_from_num => cur_css_interface_rec.stu_most_support_from_num,
3112 x_location_computer_num => cur_css_interface_rec.location_computer_num,
3113 x_cust_parent_cont_adj_num => cur_css_interface_rec.cust_parent_cont_adj_num,
3114 x_custodial_parent_num => cur_css_interface_rec.custodial_parent_num,
3115 x_cust_par_base_prcnt_inc_amt => cur_css_interface_rec.cust_par_base_prcnt_inc_amt,
3116 x_cust_par_base_cont_inc_amt => cur_css_interface_rec.cust_par_base_cont_inc_amt,
3117 x_cust_par_base_cont_ast_amt => cur_css_interface_rec.cust_par_base_cont_ast_amt,
3118 x_cust_par_base_tot_cont_amt => cur_css_interface_rec.cust_par_base_tot_cont_amt,
3119 x_cust_par_opt_prcnt_inc_amt => cur_css_interface_rec.cust_par_opt_prcnt_inc_amt,
3120 x_cust_par_opt_cont_inc_amt => cur_css_interface_rec.cust_par_opt_cont_inc_amt,
3121 x_cust_par_opt_cont_ast_amt => cur_css_interface_rec.cust_par_opt_cont_ast_amt,
3122 x_cust_par_opt_tot_cont_amt => cur_css_interface_rec.cust_par_opt_tot_cont_amt,
3123 x_parents_email_txt => cur_css_interface_rec.parents_email_txt,
3124 x_parent_1_birth_date => cur_css_interface_rec.parent_1_birth_date,
3125 x_parent_2_birth_date => cur_css_interface_rec.parent_2_birth_date,
3126 x_match_code => pv_match_code
3127 );
3128
3129 END LOOP ;
3130
3131 EXCEPTION
3132 WHEN others THEN
3133 IF fnd_log.level_exception >= fnd_log.g_current_runtime_level THEN
3134 fnd_log.string(fnd_log.level_exception,'igf.plsql.igf_ap_profile_matching_pkg.update_css_interface.exception','The exception is : ' || SQLERRM );
3135 END IF;
3136 FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXP');
3137 FND_MESSAGE.SET_TOKEN('NAME','IGF_AP_PROFILE_MATCHING_PKG.update_css_interface:');
3138 IGS_GE_MSG_STACK.ADD;
3139 fnd_file.put_line(fnd_file.log,fnd_message.get || ' - '|| SQLERRM);
3140 log_debug_message('IGF_AP_PROFILE_MATCHING_PKG.update_css_interface:'||SQLERRM);
3141 app_exception.raise_exception;
3142 END update_css_interface;
3143
3144 PROCEDURE create_admission_rec(
3145 p_person_id igf_ap_fa_base_rec_all.person_id%TYPE,
3146 p_batch_year igf_ap_css_interface_all.academic_year%TYPE
3147 ) IS
3148
3149 /*
3150 || Created By : vivuyyur
3151 || Created On : 14-JUN-2001
3152 || Purpose : Creates a enquiry record and instance record,
3153 || applicant and student else create its inquiry record and instance record.
3154 || Known limitations, enhancements or remarks :
3155 || Change History :
3156 || Who When What
3157 || (reverse chronological order - newest change first)
3158 */
3159
3160 CURSOR cur_adm_cal_conf IS
3161 SELECT inq_cal_type
3162 FROM igs_ad_cal_conf;
3163
3164 CURSOR cur_person_type IS
3165 SELECT person_type_code
3166 FROM igs_pe_person_types
3167 WHERE closed_ind = 'N'
3168 AND system_type = 'PROSPECT';
3169
3170 l_person_type igs_pe_person_types.person_type_code%TYPE;
3171 l_inq_cal_type igs_ad_cal_conf.inq_cal_type%TYPE;
3172 l_rowid ROWID;
3173 l_adm_seq igs_ca_inst.sequence_number%TYPE;
3174 l_acad_cal_type igs_ca_type.cal_type%TYPE;
3175 l_acad_seq igs_ca_inst.sequence_number%TYPE;
3176 ln_typ_id igs_pe_typ_instances_all.type_instance_id%TYPE;
3177 l_adm_alternate_code igs_ca_inst.alternate_code%TYPE;
3178 l_message VARCHAR2(30);
3179 lv_return_status VARCHAR2(10);
3180 lv_msg_data VARCHAR2(2000);
3181 lv_msg_count NUMBER;
3182 l_igr_sql_stmt VARCHAR2(5000);
3183
3184 BEGIN
3185 -- Check if the parameter to create inquiry record is set to Y.
3186 IF (g_create_inquiry = 'Y') THEN
3187
3188 OPEN cur_adm_cal_conf;
3189 FETCH cur_adm_cal_conf INTO l_inq_cal_type;
3190 IF cur_adm_cal_conf%NOTFOUND THEN
3191 FND_MESSAGE.SET_NAME('IGF','IGF_AP_NO_DEF_ADM_CAL');
3192 FND_FILE.PUT_LINE(FND_FILE.LOG,FND_MESSAGE.GET);
3193 RETURN; -- bcoz we still process the student even if adm enquiry failed
3194 END IF;
3195 CLOSE cur_adm_cal_conf;
3196
3197 igs_ad_gen_008.get_acad_cal(
3198 p_adm_cal_type => l_inq_cal_type,
3199 p_adm_seq => l_adm_seq,
3200 p_acad_cal_type => l_acad_cal_type,
3201 p_acad_seq => l_acad_seq,
3202 p_adm_alternate_code => l_adm_alternate_code,
3203 p_message => l_message
3204 );
3205
3206 IF l_message IS NOT NULL THEN
3207 FND_MESSAGE.Set_Name('IGS', 'IGS_AD_INQ_ADMCAL_SEQ_NOTDFN');
3208 FND_MESSAGE.Set_Token('CAL_TYPE', l_inq_cal_type);
3209 FND_FILE.PUT_LINE(FND_FILE.LOG,FND_MESSAGE.GET);
3210 RETURN; -- bcoz we still process the student even if adm enquiry failed
3211 END IF;
3212
3213 IF fnd_profile.value('IGS_RECRUITING_ENABLED') = 'Y' THEN
3214
3215 l_igr_sql_stmt := '
3216 DECLARE
3217 x_rowid varchar2(50);
3218 l_enquiry_status VARCHAR2(30);
3219 l_enquiry_appl_number igr_i_appl_all.enquiry_appl_number%TYPE;
3220 l_sales_lead_id igr_i_appl_all.sales_lead_id%TYPE ;
3221 BEGIN
3222 l_enquiry_status := ''OSS_REGISTERED'';
3223 igr_inquiry_pkg.insert_row(
3224 X_MODE => ''R'',
3225 X_ROWID => x_rowid,
3226 X_PERSON_ID => :1,
3227 X_ENQUIRY_APPL_NUMBER => l_enquiry_appl_number,
3228 X_SALES_LEAD_ID => l_sales_lead_id,
3229 X_ACAD_CAL_TYPE => :2,
3230 X_ACAD_CI_SEQUENCE_NUMBER => :3,
3231 X_ADM_CAL_TYPE => :4,
3232 X_ADM_CI_SEQUENCE_NUMBER => :5,
3233 X_s_ENQUIRY_STATUS => l_enquiry_status,
3234 X_ENQUIRY_DT => TRUNC(SYSDATE),
3235 X_INQUIRY_METHOD_CODE => :6,
3236 X_REGISTERING_PERSON_ID => NULL,
3237 X_OVERRIDE_PROCESS_IND => ''N'',
3238 X_INDICATED_MAILING_DT => NULL,
3239 X_LAST_PROCESS_DT => NULL,
3240 X_COMMENTS => NULL,
3241 X_ORG_ID => igs_ge_gen_003.get_org_id,
3242 X_INQ_ENTRY_LEVEL_ID => NULL,
3243 X_EDU_GOAL_ID => NULL,
3244 X_PARTY_ID => NULL,
3245 X_HOW_KNOWUS_ID => NULL,
3246 X_WHO_INFLUENCED_ID => NULL,
3247 X_SOURCE_PROMOTION_ID => NULL,
3248 X_PERSON_TYPE_CODE => NULL,
3249 X_FUNNEL_STATUS => NULL,
3250 X_ATTRIBUTE_CATEGORY => NULL,
3251 X_ATTRIBUTE1 => NULL,
3252 X_ATTRIBUTE2 => NULL,
3253 X_ATTRIBUTE3 => NULL,
3254 X_ATTRIBUTE4 => NULL,
3255 X_ATTRIBUTE5 => NULL,
3256 X_ATTRIBUTE6 => NULL,
3257 X_ATTRIBUTE7 => NULL,
3258 X_ATTRIBUTE8 => NULL,
3259 X_ATTRIBUTE9 => NULL,
3260 X_ATTRIBUTE10 => NULL,
3261 X_ATTRIBUTE11 => NULL,
3262 X_ATTRIBUTE12 => NULL,
3263 X_ATTRIBUTE13 => NULL,
3264 X_ATTRIBUTE14 => NULL,
3265 X_ATTRIBUTE15 => NULL,
3266 X_ATTRIBUTE16 => NULL,
3267 X_ATTRIBUTE17 => NULL,
3268 X_ATTRIBUTE18 => NULL,
3269 X_ATTRIBUTE19 => NULL,
3270 X_ATTRIBUTE20 => NULL,
3271 X_RET_STATUS => :7,
3272 X_MSG_DATA => :8,
3273 X_MSG_COUNT => :9,
3274 X_ACTION => ''Import'',
3275 X_ENABLED_FLAG => ''Y'',
3276 X_PKG_REDUCT_IND => ''Y''
3277 );
3278 END;';
3279
3280 EXECUTE IMMEDIATE l_igr_sql_stmt
3281 USING p_person_id, l_acad_cal_type, l_acad_seq, l_inq_cal_type, l_adm_seq,
3282 g_adm_source_type, OUT lv_return_status, OUT lv_msg_data, OUT lv_msg_count;
3283 ELSE
3284 FND_MESSAGE.Set_Name('IGS', 'IGS_AD_INQ_NOT_CRT');
3285 FND_FILE.PUT_LINE(FND_FILE.LOG,FND_MESSAGE.GET);
3286 END IF; -- IGS Recruiting User
3287
3288 IF lv_return_status IN ('E','U') THEN
3289 FOR i IN 1..lv_msg_count LOOP
3290 FND_FILE.PUT_LINE(FND_FILE.LOG,fnd_msg_pub.get(p_encoded => fnd_api.g_false));
3291 END LOOP;
3292 RETURN; -- since error no need to proceed further
3293 ELSE
3294 FND_MESSAGE.SET_NAME('IGF','IGF_AP_ISIR_ADM_REC');
3295 FND_FILE.PUT_LINE(fnd_file.log, fnd_message.get);
3296 END IF;
3297
3298 END IF;
3299
3300 OPEN cur_person_type ;
3301 FETCH cur_person_type INTO l_person_type;
3302 IF cur_person_type%FOUND THEN
3303 CLOSE cur_person_type;
3304 igs_pe_typ_instances_pkg.insert_row(
3305 X_ROWID => l_rowid,
3306 x_PERSON_ID => p_person_id,
3307 x_COURSE_CD => NULL,
3308 x_TYPE_INSTANCE_ID => ln_typ_id,
3309 x_PERSON_TYPE_CODE => l_person_type,
3310 x_CC_VERSION_NUMBER => NULL,
3311 x_FUNNEL_STATUS => NULL,
3312 x_ADMISSION_APPL_NUMBER => NULL,
3313 x_NOMINATED_COURSE_CD => NULL,
3314 x_NCC_VERSION_NUMBER => NULL,
3315 x_SEQUENCE_NUMBER => NULL,
3316 x_START_DATE => TRUNC(SYSDATE),
3317 x_END_DATE => NULL,
3318 x_CREATE_METHOD => 'CREATE_ENQ_APPL_INSTANCE',
3319 x_ENDED_BY => NULL,
3320 x_END_METHOD => NULL,
3321 X_MODE => 'R',
3322 X_ORG_ID => igs_ge_gen_003.get_org_id
3323 );
3324 ELSE
3325 CLOSE cur_person_type;
3326 FND_MESSAGE.SET_NAME('IGF','IGF_AP_NO_PERSON_TYPE');
3327 FND_FILE.PUT_LINE(FND_FILE.LOG,FND_MESSAGE.GET);
3328 END IF;
3329 EXCEPTION
3330 WHEN OTHERS THEN
3331 IF fnd_log.level_exception >= fnd_log.g_current_runtime_level THEN
3332 fnd_log.string(fnd_log.level_exception,'igf.plsql.igf_ap_profile_matching_pkg.create_admission_rec.exception','The exception is : ' || SQLERRM );
3333 END IF;
3334 IF cur_adm_cal_conf%ISOPEN THEN
3335 CLOSE cur_adm_cal_conf;
3336 END IF;
3337 IF cur_person_type%ISOPEN THEN
3338 CLOSE cur_person_type;
3339 END IF;
3340 FND_MESSAGE.SET_NAME('IGF','IGF_GE_UNHANDLED_EXP');
3341 FND_MESSAGE.SET_TOKEN('NAME','IGF_AP_MATCH_PROFILE_PK.create_admission_rec');
3342 igs_ge_msg_stack.add;
3343 fnd_file.put_line(fnd_file.log,fnd_message.get || ' - '|| SQLERRM);
3344 log_debug_message('IGF_AP_MATCH_PROFILE_PK.create_admission_rec'|| SQLERRM);
3345 END create_admission_rec;
3346
3347
3348 PROCEDURE update_person_match(pn_apm_id igf_ap_person_match.apm_id%TYPE,
3349 pv_record_status igf_ap_person_match.record_status%TYPE
3350 ) IS
3351
3352 /*
3353 || Created By : Meghana
3354 || Created On : 20-JUN-2001
3355 || Purpose : Update the record status to 'Matched / Unmatched' for all the successful/ non successfull persons.
3356 || Known limitations, enhancements or remarks :
3357 || Change History :
3358 || Who When What
3359 || (reverse chronological order - newest change first)
3360 */
3361 lv_rowid VARCHAR2(30);
3362 ln_org_id NUMBER ;
3363 retcode NUMBER;
3364 errbuf VARCHAR2(300);
3365
3366 CURSOR cur_person_match(pn_apm_id igf_ap_person_match.apm_id%TYPE) IS
3367 SELECT apm.*
3368 FROM igf_ap_person_match apm
3369 WHERE apm.apm_id = pn_apm_id FOR UPDATE NOWAIT ;
3370
3371
3372 BEGIN
3373
3374 -- Update record _status
3375 FOR person_data IN cur_person_match(pn_apm_id)
3376 LOOP
3377
3378 igf_ap_person_match_pkg.update_row(
3379 x_rowid => person_data.row_id ,
3380 x_apm_id => pn_apm_id ,
3381 x_css_id => person_data.css_id ,
3382 x_si_id => person_data.si_id ,
3383 x_record_type => person_data.record_type,
3384 x_date_run => person_data.date_run ,
3385 x_ci_sequence_number => person_data.ci_sequence_number ,
3386 x_ci_cal_type => person_data.ci_cal_type ,
3387 x_record_status => pv_record_status ,
3388 x_mode => 'R'
3389 );
3390 END LOOP ;
3391
3392 EXCEPTION
3393 WHEN others THEN
3394 IF fnd_log.level_exception >= fnd_log.g_current_runtime_level THEN
3395 fnd_log.string(fnd_log.level_exception,'igf.plsql.igf_ap_profile_matching_pkg.update_person_match.exception','The exception is : ' || SQLERRM );
3396 END IF;
3397 FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXP');
3398 FND_MESSAGE.SET_TOKEN('NAME','IGF_AP_PROFILE_MATCHING_PKG.update_person_match:');
3399 IGS_GE_MSG_STACK.ADD;
3400 fnd_file.put_line(fnd_file.log,fnd_message.get || ' - '|| SQLERRM);
3401 log_debug_message('IGF_AP_PROFILE_MATCHING_PKG.update_person_match:'|| SQLERRM);
3402 app_exception.raise_exception;
3403 END update_person_match;
3404
3405
3406 PROCEDURE update_fa_base_rec(p_base_id igf_ap_fa_base_rec.base_id%TYPE) IS
3407
3408 /*
3409 || Created By : vivuyyur
3410 || Created On : 25-JUN-2001
3411 || Purpose : To updatete the fa basse record
3412 || Known limitations, enhancements or remarks :
3413 || Change History :
3414 || Who When What
3415 || rasahoo 17-NOV-2003 FA 128 - ISIR update 2004-05
3416 || added new parameter award_fmly_contribution_type to
3417 || TBH call igf_ap_fa_base_rec_pkg
3418 || masehgal 11-Nov-2002 FA 101 - SAP Obsoletion
3419 || removed packaging hold
3420 || masehgal 25-Sep-2002 FA 104 - To Do Enhancements
3421 || Added manual_disb_hold in Fa Base update
3422 || (reverse chronological order - newest change first)
3423 */
3424 -- cursor to update the profile_status, profile_fc of igf_ap_fa_base_rec
3425 CURSOR cur_fabase(p_base_id igf_ap_fa_base_rec.base_id%TYPE) IS
3426 SELECT *
3427 FROM igf_ap_fa_base_rec
3428 WHERE base_id = p_base_id FOR UPDATE NOWAIT ;
3429
3430 BEGIN
3431
3432
3433 -- To update the fields profile_status ,profile_status_date ,profile_fc
3434 FOR fabase_data IN cur_fabase(p_base_id)
3435 LOOP
3436 igf_ap_fa_base_rec_pkg.update_row (
3437 X_Mode => 'R',
3438 x_rowid => fabase_data.row_id,
3439 x_base_id => fabase_data.base_id,
3440 x_ci_cal_type => fabase_data.ci_cal_type,
3441 x_person_id => fabase_data.person_id,
3442 x_ci_sequence_number => fabase_data.ci_sequence_number,
3443 x_org_id => fabase_data.org_id,
3444 x_coa_pending => fabase_data.coa_pending,
3445 x_verification_process_run => fabase_data.verification_process_run,
3446 x_inst_verif_status_date => fabase_data.inst_verif_status_date,
3447 x_manual_verif_flag => fabase_data.manual_verif_flag,
3448 x_fed_verif_status => fabase_data.fed_verif_status,
3449 x_fed_verif_status_date => fabase_data.fed_verif_status_date,
3450 x_inst_verif_status => fabase_data.inst_verif_status,
3451 x_nslds_eligible => fabase_data.nslds_eligible,
3452 x_ede_correction_batch_id => fabase_data.ede_correction_batch_id,
3453 x_fa_process_status_date => fabase_data.fa_process_status_date,
3454 x_isir_corr_status => fabase_data.isir_corr_status,
3455 x_isir_corr_status_date => fabase_data.isir_corr_status_date,
3456 x_isir_status => fabase_data.isir_status,
3457 x_isir_status_date => fabase_data.isir_status_date,
3458 x_coa_code_f => fabase_data.coa_code_f,
3459 x_coa_fixed => fabase_data.coa_fixed,
3460 x_coa_code_i => fabase_data.coa_code_i,
3461 x_coa_f => fabase_data.coa_f,
3462 x_coa_i => fabase_data.coa_i,
3463 x_coa_pell => fabase_data.coa_pell,
3464 x_disbursement_hold => fabase_data.disbursement_hold,
3465 x_fa_process_status => fabase_data.fa_process_status,
3466 x_notification_status => fabase_data.notification_status,
3467 x_notification_status_date => fabase_data.notification_status_date,
3468 x_nslds_data_override_flg => fabase_data.nslds_data_override_flg,
3469 x_packaging_status => fabase_data.packaging_status,
3470 x_prof_judgement_flg => fabase_data.prof_judgement_flg,
3471 x_packaging_status_date => fabase_data.packaging_status_date,
3472 x_target_group => fabase_data.target_group,
3473 x_total_package_accepted => fabase_data.total_package_accepted,
3474 x_total_package_offered => fabase_data.total_package_offered,
3475 x_admstruct_id => fabase_data.admstruct_id,
3476 x_admsegment_1 => fabase_data.admsegment_1,
3477 x_admsegment_2 => fabase_data.admsegment_2,
3478 x_admsegment_3 => fabase_data.admsegment_3,
3479 x_admsegment_4 => fabase_data.admsegment_4,
3480 x_admsegment_5 => fabase_data.admsegment_5,
3481 x_admsegment_6 => fabase_data.admsegment_6,
3482 x_admsegment_7 => fabase_data.admsegment_7,
3483 x_admsegment_8 => fabase_data.admsegment_8,
3484 x_admsegment_9 => fabase_data.admsegment_9,
3485 x_admsegment_10 => fabase_data.admsegment_10,
3486 x_admsegment_11 => fabase_data.admsegment_11,
3487 x_admsegment_12 => fabase_data.admsegment_12,
3488 x_admsegment_13 => fabase_data.admsegment_13,
3489 x_admsegment_14 => fabase_data.admsegment_14,
3490 x_admsegment_15 => fabase_data.admsegment_15,
3491 x_admsegment_16 => fabase_data.admsegment_16,
3492 x_admsegment_17 => fabase_data.admsegment_17,
3493 x_admsegment_18 => fabase_data.admsegment_18,
3494 x_admsegment_19 => fabase_data.admsegment_19,
3495 x_admsegment_20 => fabase_data.admsegment_20,
3496 x_packstruct_id => fabase_data.packstruct_id,
3497 x_packsegment_1 => fabase_data.packsegment_1,
3498 x_packsegment_2 => fabase_data.packsegment_2,
3499 x_packsegment_3 => fabase_data.packsegment_3,
3500 x_packsegment_4 => fabase_data.packsegment_4,
3501 x_packsegment_5 => fabase_data.packsegment_5,
3502 x_packsegment_6 => fabase_data.packsegment_6,
3503 x_packsegment_7 => fabase_data.packsegment_7,
3504 x_packsegment_8 => fabase_data.packsegment_8,
3505 x_packsegment_9 => fabase_data.packsegment_9,
3506 x_packsegment_10 => fabase_data.packsegment_10,
3507 x_packsegment_11 => fabase_data.packsegment_11,
3508 x_packsegment_12 => fabase_data.packsegment_12,
3509 x_packsegment_13 => fabase_data.packsegment_13,
3510 x_packsegment_14 => fabase_data.packsegment_14,
3511 x_packsegment_15 => fabase_data.packsegment_15,
3512 x_packsegment_16 => fabase_data.packsegment_16,
3513 x_packsegment_17 => fabase_data.packsegment_17,
3514 x_packsegment_18 => fabase_data.packsegment_18,
3515 x_packsegment_19 => fabase_data.packsegment_19,
3516 x_packsegment_20 => fabase_data.packsegment_20,
3517 x_miscstruct_id => fabase_data.miscstruct_id,
3518 x_miscsegment_1 => fabase_data.miscsegment_1,
3519 x_miscsegment_2 => fabase_data.miscsegment_2,
3520 x_miscsegment_3 => fabase_data.miscsegment_3,
3521 x_miscsegment_4 => fabase_data.miscsegment_4,
3522 x_miscsegment_5 => fabase_data.miscsegment_5,
3523 x_miscsegment_6 => fabase_data.miscsegment_6,
3524 x_miscsegment_7 => fabase_data.miscsegment_7,
3525 x_miscsegment_8 => fabase_data.miscsegment_8,
3526 x_miscsegment_9 => fabase_data.miscsegment_9,
3527 x_miscsegment_10 => fabase_data.miscsegment_10,
3528 x_miscsegment_11 => fabase_data.miscsegment_11,
3529 x_miscsegment_12 => fabase_data.miscsegment_12,
3530 x_miscsegment_13 => fabase_data.miscsegment_13,
3531 x_miscsegment_14 => fabase_data.miscsegment_14,
3532 x_miscsegment_15 => fabase_data.miscsegment_15,
3533 x_miscsegment_16 => fabase_data.miscsegment_16,
3534 x_miscsegment_17 => fabase_data.miscsegment_17,
3535 x_miscsegment_18 => fabase_data.miscsegment_18,
3536 x_miscsegment_19 => fabase_data.miscsegment_19,
3537 x_miscsegment_20 => fabase_data.miscsegment_20,
3538 x_profile_status => g_cur_data.institutional_reporting_type ,
3539 x_profile_status_date => TRUNC(SYSDATE),
3540 x_profile_fc => g_cur_data.im_inst_2_tot_family_cont,
3541 x_tolerance_amount => fabase_data.tolerance_amount,
3542 x_manual_disb_hold => fabase_data.manual_disb_hold,
3543 x_pell_alt_expense => fabase_data.pell_alt_expense,
3544 x_assoc_org_num => fabase_data.assoc_org_num,
3545 x_award_fmly_contribution_type => fabase_data.award_fmly_contribution_type,
3546 x_isir_locked_by => fabase_data.isir_locked_by,
3547 x_adnl_unsub_loan_elig_flag => fabase_data.adnl_unsub_loan_elig_flag,
3548 x_lock_awd_flag => fabase_data.lock_awd_flag,
3549 x_lock_coa_flag => fabase_data.lock_coa_flag
3550 );
3551 END LOOP ;
3552 EXCEPTION
3553 WHEN OTHERS THEN
3554 IF fnd_log.level_exception >= fnd_log.g_current_runtime_level THEN
3555 fnd_log.string(fnd_log.level_exception,'igf.plsql.igf_ap_profile_matching_pkg.update_fa_base_rec.exception','The exception is : ' || SQLERRM );
3556 END IF;
3557 FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXP');
3558 FND_MESSAGE.SET_TOKEN('NAME','IGF_AP_PROFILE_MATCHING_PKG.UPDATE_FA_BASE_REC:');
3559 IGS_GE_MSG_STACK.ADD;
3560 fnd_file.put_line(fnd_file.log,fnd_message.get || ' - '|| SQLERRM);
3561 log_debug_message('IGF_AP_PROFILE_MATCHING_PKG.UPDATE_FA_BASE_REC:'||SQLERRM );
3562 app_exception.raise_exception;
3563 END update_fa_base_rec ;
3564
3565 PROCEDURE unmatched_rec(p_apm_id igf_ap_person_match_all.apm_id%TYPE) IS
3566 /*
3567 || Created By : vivuyyur
3568 || Created On : 11-JUN-2000
3569 || Purpose : To create fa_base_rec ,person_record,admission record for the unmatched record
3570 || Known limitations, enhancements or remarks :
3571 || Change History :
3572 || Who When What
3573 || bkkumar 11-Aug-2003 Bug# 3084964 Added the check for the
3574 || HZ_GENERATE_PARTY_NUMBER profile value
3575 || (reverse chronological order - newest change first)
3576 */
3577 fabase_data igf_ap_fa_base_rec%ROWTYPE ;
3578 lv_person_id igf_ap_person_v.person_id%TYPE ;
3579 lv_base_id igf_ap_fa_base_rec.base_id%TYPE ;
3580 lv_cssp_id igf_ap_css_profile.cssp_id%TYPE ;
3581 lv_mesg_data VARCHAR2(2000);
3582
3583
3584 -- Cursor to update the record_status of igf_ap_person_match to unmatched
3585 CURSOR cur_person_match(p_apm_id igf_ap_person_match.apm_id%TYPE) IS
3586 SELECT apm.*
3587 FROM igf_ap_person_match apm
3588 WHERE apm.apm_id = p_apm_id FOR UPDATE NOWAIT ;
3589
3590 BEGIN
3591 -- here the profile check needs to be added
3592 IF FND_PROFILE.VALUE('HZ_GENERATE_PARTY_NUMBER') = 'N' THEN
3593 RAISE INVALID_PROFILE_ERROR;
3594 END IF;
3595
3596
3597 IF (g_force_add = 'Y')THEN
3598 -- Creation of Person record for the unmatched record
3599 create_person_record(pn_css_id => g_cur_data.css_id,
3600 pn_person_id => lv_person_id,
3601 pv_mesg_data => lv_mesg_data,
3602 p_called_from => 'PLSQL') ;
3603
3604 IF lv_person_id IS NOT NULL THEN
3605 -- Incrementing the total no of person records created
3606 g_unmatched_added := g_unmatched_added + 1;
3607
3608 -- Creation of Person address record for the unmatched record
3609 IGF_AP_PROFILE_MATCHING_PKG.create_person_addr_record(pn_css_id => g_cur_data.css_id,
3610 pn_person_id => lv_person_id ) ;
3611
3612 --Creation of admission record to be checked
3613 IF NOT igf_ap_matching_process_pkg.check_ptyp_code(lv_person_id) AND g_create_inquiry = 'Y' THEN
3614 create_admission_rec(p_person_id => lv_person_id,
3615 p_batch_year => g_cur_data.academic_year
3616 ) ;
3617 END IF;
3618 -- Create Email Address
3619 create_email_address(lv_person_id);
3620 -- Creation of fa_base_record
3621 create_fa_base_record(pn_css_id => g_cur_data.css_id,
3622 pn_person_id => lv_person_id ,
3623 pn_base_id => lv_base_id
3624 );
3625 -- Inserting the record into igf_ap_css_profile with system_record_type as 'ORIGINAL'
3626 g_active_profile := 'Y';
3627 process_todo_items(lv_base_id);
3628 IGF_AP_PROFILE_MATCHING_PKG.create_profile_matched(pn_css_id => g_cur_data.css_id,
3629 pn_cssp_id => lv_cssp_id ,
3630 pn_base_id => lv_base_id ,
3631 pn_system_record_type => 'ORIGINAL'
3632 );
3633 -- To insert the record into igf_ap_css_fnar
3634 IGF_AP_PROFILE_MATCHING_PKG.create_fnar_data(pn_css_id => g_cur_data.css_id,
3635 pn_cssp_id => lv_cssp_id
3636 ) ;
3637
3638 --Opening the cursor to update the record_status field to MATCHED
3639 FOR person_data IN cur_person_match(p_apm_id) LOOP
3640 -- procedure to update the record_status of igf_ap_person_match to 'MATCHED'
3641 igf_ap_person_match_pkg.update_row(
3642 x_rowid => person_data.row_id ,
3643 x_apm_id => person_data.apm_id ,
3644 x_css_id => person_data.css_id ,
3645 x_si_id => person_data.si_id ,
3646 x_record_type => person_data.record_type,
3647 x_date_run => person_data.date_run ,
3648 x_ci_sequence_number => person_data.ci_sequence_number ,
3649 x_ci_cal_type => person_data.ci_cal_type ,
3650 x_record_status => 'MATCHED' ,
3651 x_mode => 'R'
3652 );
3653 END LOOP ;
3654 -- PROCEDURE to update the record_status of igf_ap_css_interface to 'MATCHED'
3655 IGF_AP_PROFILE_MATCHING_PKG.update_css_interface(pn_css_id => g_cur_data.css_id,
3656 pv_record_status => 'MATCHED',
3657 pv_match_code => g_match_code
3658 );
3659 g_matched_rec := g_matched_rec + 1 ;
3660 -- To update the fields profile_status ,profile_status_datae ,profile_fc
3661 update_fa_base_rec(p_base_id => lv_base_id );
3662 FND_MESSAGE.SET_NAME('IGF','IGF_AP_ISIR_FORCE_ADD');
3663 FND_FILE.PUT_LINE(fnd_file.log, fnd_message.get);
3664
3665 ELSE
3666 --Opening the cursor to update the record_status field to UNMATCHED
3667 FOR person_data IN cur_person_match(p_apm_id) LOOP
3668 -- procedure to update the record_status of igf_ap_person_match to 'UNMATCHED'
3669 igf_ap_person_match_pkg.update_row(
3670 x_rowid => person_data.row_id ,
3671 x_apm_id => person_data.apm_id ,
3672 x_css_id => person_data.css_id ,
3673 x_si_id => person_data.si_id ,
3674 x_record_type => person_data.record_type,
3675 x_date_run => person_data.date_run ,
3676 x_ci_sequence_number => person_data.ci_sequence_number ,
3677 x_ci_cal_type => person_data.ci_cal_type ,
3678 x_record_status => 'UNMATCHED' ,
3679 x_mode => 'R'
3680 );
3681 END LOOP ;
3682 -- PROCEDURE to update the record_status of igf_ap_css_interface to 'UNMATCHED'
3683 IGF_AP_PROFILE_MATCHING_PKG.update_css_interface(pn_css_id => g_cur_data.css_id,
3684 pv_record_status => 'UNMATCHED',
3685 pv_match_code => g_match_code);
3686 END IF;
3687 ELSE
3688 -- Incrementing the umamatched recs ,these record_status is going to be 'UNMATCHED'
3689 g_unmatched_rec := g_unmatched_rec + 1 ;
3690
3691 --Opening the cursor to update the record_status field to UNMATCHED
3692 FOR person_data IN cur_person_match(p_apm_id)
3693 LOOP
3694 -- procedure to update the record_status of igf_ap_person_match to 'UNMATCHED'
3695 igf_ap_person_match_pkg.update_row(
3696 x_rowid => person_data.row_id ,
3697 x_apm_id => person_data.apm_id ,
3698 x_css_id => person_data.css_id ,
3699 x_si_id => person_data.si_id ,
3700 x_record_type => person_data.record_type,
3701 x_date_run => person_data.date_run ,
3702 x_ci_sequence_number => person_data.ci_sequence_number ,
3703 x_ci_cal_type => person_data.ci_cal_type ,
3704 x_record_status => 'UNMATCHED' ,
3705 x_mode => 'R'
3706 );
3707 END LOOP ;
3708 -- PROCEDURE to update the record_status of igf_ap_css_interface to 'UNMATCHED'
3709 IGF_AP_PROFILE_MATCHING_PKG.update_css_interface(pn_css_id => g_cur_data.css_id,
3710 pv_record_status => 'UNMATCHED',
3711 pv_match_code => g_match_code
3712 );
3713 FND_MESSAGE.SET_NAME('IGF','IGF_AP_ISIR_REC_STATUS');
3714 FND_MESSAGE.SET_TOKEN('STATUS','UNMATCHED');
3715 FND_FILE.PUT_LINE(FND_FILE.LOG, FND_MESSAGE.GET);
3716 END IF;
3717 EXCEPTION
3718 WHEN SKIP_PERSON THEN
3719 RAISE SKIP_PERSON;
3720 WHEN INVALID_PROFILE_ERROR THEN
3721 RAISE INVALID_PROFILE_ERROR;
3722 WHEN others THEN
3723 IF fnd_log.level_exception >= fnd_log.g_current_runtime_level THEN
3724 fnd_log.string(fnd_log.level_exception,'igf.plsql.igf_ap_profile_matching_pkg.unmatched_rec.exception','The exception is : ' || SQLERRM );
3725 END IF;
3726 FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXP');
3727 FND_MESSAGE.SET_TOKEN('NAME','IGF_AP_PROFILE_MATCHING_PKG.unmatched_rec');
3728 IGS_GE_MSG_STACK.ADD;
3729 fnd_file.put_line(fnd_file.log,fnd_message.get || ' - '|| SQLERRM);
3730 log_debug_message('IGF_AP_PROFILE_MATCHING_PKG.unmatched_rec'|| SQLERRM);
3731 app_exception.raise_exception;
3732 END unmatched_rec ;
3733
3734 PROCEDURE rvw_fa_rec(p_apm_id igf_ap_person_match_all.apm_id%TYPE ) IS
3735 /*
3736 || Created By : vivuyyur
3737 || Created On : 11-JUN-2000
3738 || Purpose : To update the record_status of igf_ap_person_match,igf_ap_css_interface to review
3739 || Known limitations, enhancements or remarks :
3740 || Change History :
3741 || Who When What
3742 || (reverse chronological order - newest change first)
3743 */
3744
3745 person_data igf_ap_person_match%ROWTYPE ;
3746
3747 -- Cursor to update the record_status of igf_ap_person_match to review
3748 CURSOR cur_person_match(p_apm_id igf_ap_person_match.apm_id%TYPE) IS
3749 SELECT apm.*
3750 FROM igf_ap_person_match apm
3751 WHERE apm.apm_id = p_apm_id FOR UPDATE NOWAIT ;
3752
3753 BEGIN
3754 FOR person_data IN cur_person_match(p_apm_id)
3755 LOOP
3756
3757 --Procedure to update the record_status of igf_ap_person_match to review
3758 igf_ap_person_match_pkg.update_row(
3759 x_rowid => person_data.row_id ,
3760 x_apm_id => person_data.apm_id ,
3761 x_css_id => person_data.css_id ,
3762 x_si_id => person_data.si_id ,
3763 x_record_type => person_data.record_type,
3764 x_date_run => person_data.date_run ,
3765 x_ci_sequence_number => person_data.ci_sequence_number ,
3766 x_ci_cal_type => person_data.ci_cal_type ,
3767 x_record_status => 'REVIEW' ,
3768 x_mode => 'R'
3769 );
3770 END LOOP ;
3771
3772 -- PROCEDURE to update the record_status of igf_ap_css_interface to 'REVIEW'
3773 IGF_AP_PROFILE_MATCHING_PKG.update_css_interface(pn_css_id => g_cur_data.css_id,
3774 pv_record_status => 'REVIEW',
3775 pv_match_code => g_match_code
3776 );
3777 g_total_rvw := g_total_rvw +1;
3778
3779 FND_MESSAGE.SET_NAME('IGF','IGF_AP_ISIR_REC_STATUS');
3780 FND_MESSAGE.SET_TOKEN('STATUS','REVIEW');
3781 FND_FILE.PUT_LINE(FND_FILE.LOG, FND_MESSAGE.GET);
3782
3783 EXCEPTION
3784 WHEN others THEN
3785 IF fnd_log.level_exception >= fnd_log.g_current_runtime_level THEN
3786 fnd_log.string(fnd_log.level_exception,'igf.plsql.igf_ap_profile_matching_pkg.rvw_fa_rec.exception','The exception is : ' || SQLERRM );
3787 END IF;
3788 FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXP');
3789 FND_MESSAGE.SET_TOKEN('NAME','IGF_AP_PROFILE_MATCHING_PKG.rvw_fa_rec');
3790 IGS_GE_MSG_STACK.ADD;
3791 fnd_file.put_line(fnd_file.log,fnd_message.get || ' - '|| SQLERRM);
3792 log_debug_message('IGF_AP_PROFILE_MATCHING_PKG.rvw_fa_rec'|| SQLERRM);
3793 app_exception.raise_exception;
3794 END rvw_fa_rec ;
3795
3796 PROCEDURE auto_fa_rec(p_person_id igf_ap_match_details.person_id%TYPE ,
3797 p_apm_id igf_ap_person_match_all.apm_id%TYPE,
3798 p_cal_type igf_ap_person_match_all.ci_cal_type%TYPE,
3799 p_seq_num igf_ap_person_match_all.ci_sequence_number%TYPE
3800 ) IS
3801
3802 /*
3803 || Created By : vivuyyur
3804 || Created On : 11-JUN-2000
3805 || Purpose : check whether the fa_base_record exitst ,if not creates fa_base_record
3806 || Known limitations, enhancements or remarks :
3807 || Change History :
3808 || Who When What
3809 || (reverse chronological order - newest change first)
3810 */
3811
3812 person_data igf_ap_person_match%ROWTYPE;
3813 css_profile_data igf_ap_css_profile%ROWTYPE ;
3814 css_profile_data1 igf_ap_css_profile%ROWTYPE ;
3815 fabase_data igf_ap_fa_base_rec%ROWTYPE ;
3816 lv_base_id igf_ap_css_profile.base_id%TYPE ;
3817 lv_cssp_id igf_ap_css_profile.cssp_id%TYPE ;
3818 fa_base_found BOOLEAN ;
3819
3820 -- Cursor to update the record_status of igf_ap_person_match to matched
3821 CURSOR cur_person_match(p_apm_id igf_ap_person_match.apm_id%TYPE) IS
3822 SELECT apm.*
3823 FROM igf_ap_person_match apm
3824 WHERE apm.apm_id = p_apm_id FOR UPDATE NOWAIT ;
3825
3826 -- cursor to update the profile_status, profile_fc of igf_ap_fa_base_rec
3827 CURSOR cur_fabase(x_base_id igf_ap_fa_base_rec.base_id%TYPE) IS
3828 SELECT *
3829 FROM igf_ap_fa_base_rec
3830 WHERE base_id = x_base_id ;
3831
3832 -- cursor to update the active_profile of igf_ap_css_profile to 'N'
3833 CURSOR cur_css_profile(x_base_id igf_ap_fa_base_rec.base_id%TYPE) IS
3834 SELECT *
3835 FROM igf_ap_css_profile
3836 WHERE base_id = x_base_id FOR UPDATE NOWAIT ;
3837
3838
3839 BEGIN
3840 fa_base_found := IGF_AP_PROFILE_MATCHING_PKG.is_fa_base_record_present(pn_person_id => p_person_id,
3841 pn_cal_type => p_cal_type,
3842 pn_sequence_number => p_seq_num ,
3843 pn_base_id => lv_base_id
3844 );
3845 IF NOT(fa_base_found) THEN
3846 IGF_AP_PROFILE_MATCHING_PKG.create_fa_base_record(pn_css_id => g_cur_data.css_id,
3847 pn_person_id => p_person_id ,
3848 pn_base_id => lv_base_id
3849 );
3850 FND_MESSAGE.SET_NAME('IGF','IGF_AP_ISIR_FA_BASE_CREATED');
3851 FND_FILE.PUT_LINE(fnd_file.log, fnd_message.get);
3852 END IF;
3853 -- Cursor for updating the active_profile of all the old profile records of the student to 'N'
3854 make_profile_inactive(lv_base_id);
3855 g_active_profile := 'Y';
3856 -- To insert the record into igf_ap_css_profile
3857 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
3858 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_profile_matching_pkg.auto_fa_rec.debug','Calling Method: create_profile_matched' );
3859 END IF;
3860
3861 process_todo_items(lv_base_id);
3862 create_profile_matched(pn_css_id => g_cur_data.css_id,
3863 pn_cssp_id => lv_cssp_id ,
3864 pn_base_id => lv_base_id ,
3865 pn_system_record_type => 'ORIGINAL'
3866 );
3867
3868 -- To Insert the record into igf_ap_css_fnar table.
3869 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
3870 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_profile_matching_pkg.auto_fa_rec.debug','Calling Method: create_fnar_data' );
3871 END IF;
3872 create_fnar_data(pn_css_id => g_cur_data.css_id,
3873 pn_cssp_id => lv_cssp_id
3874 ) ;
3875
3876
3877 -- To update the fields profile_status ,profile_status_date ,profile_fc
3878 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
3879 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_profile_matching_pkg.auto_fa_rec.debug','Calling Method: update_fa_base_rec' );
3880 END IF;
3881 update_fa_base_rec(p_base_id => lv_base_id );
3882
3883 -- Added following call to update_person_info() as bug fix 3944249 (IGS.M)
3884 -- Update Email address
3885 update_person_info(p_person_id);
3886
3887 -- Delete the detals from person match amd match details.
3888 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
3889 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_profile_matching_pkg.auto_fa_rec.debug','Calling Method: igf_ap_profile_gen_pkg.delete_person_match' );
3890 END IF;
3891 igf_ap_profile_gen_pkg.delete_person_match ( p_css_id => g_cur_data.css_id);
3892
3893 -- PROCEDURE to update the record_status of igf_ap_css_interface to 'MATCHED'
3894 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
3895 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_profile_matching_pkg.auto_fa_rec.debug','Calling Method: update_css_interface' );
3896 END IF;
3897 update_css_interface(pn_css_id => g_cur_data.css_id,
3898 pv_record_status => 'MATCHED',
3899 pv_match_code => g_match_code
3900 );
3901 g_matched_rec := g_matched_rec + 1 ;
3902
3903 EXCEPTION
3904 WHEN others THEN
3905 IF fnd_log.level_exception >= fnd_log.g_current_runtime_level THEN
3906 fnd_log.string(fnd_log.level_exception,'igf.plsql.igf_ap_profile_matching_pkg.auto_fa_rec.exception','The exception is : ' || SQLERRM );
3907 END IF;
3908 FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXP');
3909 FND_MESSAGE.SET_TOKEN('NAME','IGF_AP_PROFILE_MATCHING_PKG.auto_fa_rec');
3910 IGS_GE_MSG_STACK.ADD;
3911 fnd_file.put_line(fnd_file.log,fnd_message.get || ' - '|| SQLERRM);
3912 log_debug_message('IGF_AP_PROFILE_MATCHING_PKG.auto_fa_rec'|| SQLERRM);
3913 app_exception.raise_exception;
3914 END auto_fa_rec ;
3915
3916 PROCEDURE perform_record_matching(p_out_apm_id OUT NOCOPY igf_ap_person_match_all.apm_id%TYPE)
3917 IS
3918 /*
3919 || Created By : rasahoo
3920 || Created On : 24-AUG-2004
3921 || Purpose : Performs matching of interface record with person record in system.
3922 ||
3923 || Known limitations, enhancements or remarks :
3924 || Change History :
3925 || Who When What
3926 ||
3927 || (reverse chronological order - newest change first)
3928 */
3929 -- table definition
3930 TYPE RecTab IS TABLE OF VARCHAR2(30);
3931 TYPE PersonIdTab IS TABLE OF hz_parties.party_id%TYPE;
3932 TYPE ssntab IS TABLE OF igs_pe_alt_pers_id.api_person_id_uf%TYPE;
3933 TYPE firstnametab IS TABLE OF hz_parties.person_first_name%TYPE;
3934 TYPE lastnametab IS TABLE OF hz_parties.person_last_name%TYPE;
3935 TYPE addresstab IS TABLE OF hz_parties.address1%TYPE;
3936 TYPE citytab IS TABLE OF hz_parties.city%TYPE;
3937 TYPE postalcodetab IS TABLE OF hz_parties.postal_code%TYPE;
3938 TYPE emailaddresstab IS TABLE OF hz_parties.email_address%TYPE;
3939 TYPE dobtab IS TABLE OF hz_person_profiles.date_of_birth%TYPE;
3940 TYPE gendertab IS TABLE OF hz_person_profiles.gender%TYPE;
3941 TYPE totmatchscoretab IS TABLE OF NUMBER;
3942
3943 t_rec_tab RecTab;
3944 t_pid_tab PersonIdTab;
3945 t_prsn_SSN ssntab;
3946 t_first_name firstnametab;
3947 t_last_name lastnametab;
3948 t_address addresstab;
3949 t_city citytab;
3950 t_postal_code postalcodetab;
3951 t_email_address emailaddresstab;
3952 t_dob_tab dobtab;
3953 t_gender gendertab;
3954 t_tot_match_score totmatchscoretab;
3955
3956 match_details_rec igf_ap_match_details%ROWTYPE;
3957 lv_rowid VARCHAR2(30);
3958 lv_apm_id igf_ap_person_match.apm_id%TYPE;
3959 lv_ssn igf_ap_match_details.ssn_txt%TYPE;
3960 lv_fname igf_ap_match_details.given_name_txt%TYPE;
3961 lv_lname igf_ap_match_details.sur_name_txt%TYPE;
3962 l_fname_exact_match VARCHAR2(1);
3963 l_lname_exact_match VARCHAR2(1);
3964 lv_tot NUMBER;
3965
3966 l_process_rec VARCHAR2(1);
3967 CURSOR check_oss_person_match(p_apm_id NUMBER, p_person_id NUMBER) IS
3968 SELECT 'Y'
3969 FROM igf_ap_match_details ad
3970 WHERE apm_id = p_apm_id
3971 AND person_id = p_person_id;
3972
3973 oss_person_match_rec check_oss_person_match%ROWTYPE;
3974 BEGIN
3975 -- First delete any existing match records.
3976 BEGIN
3977 igf_ap_profile_gen_pkg.delete_person_match ( p_css_id => g_cur_data.css_id);
3978 EXCEPTION
3979 WHEN others THEN
3980 NULL;
3981 END;
3982
3983 -- Inserting new student record into igf_ap_person_match table.
3984 lv_rowid := NULL;
3985 igf_ap_person_match_pkg.insert_row(
3986 x_rowid => lv_rowid ,
3987 x_apm_id => p_out_apm_id,
3988 x_css_id => g_cur_data.css_id,
3989 x_si_id => NULL ,
3990 x_record_type => 'PROFILE' ,
3991 x_date_run => TRUNC(SYSDATE),
3992 x_ci_sequence_number => g_ci_sequence_number ,
3993 x_ci_cal_type => g_ci_cal_type ,
3994 x_record_status => 'NEW' ,
3995 x_mode => 'R');
3996
3997 lv_ssn := remove_spl_chr(g_cur_data.social_security_number) ;
3998
3999 -- FNAME / GIVENNAME
4000 IF g_setup_score.given_name_mt_txt = 'EXACT' THEN
4001 l_fname_exact_match := 'Y';
4002 lv_fname := UPPER(TRIM(g_cur_data.first_name));
4003
4004 ELSE
4005 l_fname_exact_match := 'N';
4006 lv_fname := '%' || UPPER(TRIM(g_cur_data.first_name)) || '%' ;
4007
4008 END IF;
4009
4010 -- LAST NAME / SURNAME
4011 IF g_setup_score.surname_mt_txt = 'EXACT' THEN
4012 l_lname_exact_match := 'Y';
4013 lv_lname := UPPER(TRIM(g_cur_data.last_name));
4014
4015 ELSE
4016 l_lname_exact_match := 'N';
4017 lv_lname := '%' || UPPER(TRIM(g_cur_data.last_name)) || '%' ;
4018
4019 END IF;
4020 SELECT rec_type,
4021 person_id,
4022 prsn_ssn,
4023 firstname,
4024 lastname,
4025 address,
4026 city,
4027 postal_code,
4028 email_address,
4029 date_of_birth,
4030 gender
4031 BULK COLLECT INTO
4032 t_rec_tab,
4033 t_pid_tab,
4034 t_prsn_ssn,
4035 t_first_name,
4036 t_last_name,
4037 t_address,
4038 t_city,
4039 t_postal_code,
4040 t_email_address,
4041 t_dob_tab,
4042 t_gender
4043 FROM
4044 (
4045 -- SSN matching records
4046 SELECT 'OSS' rec_type,
4047 hz.party_id person_id,
4048 api.api_person_id_uf prsn_ssn, --Unformatted SSN value
4049 hz.person_first_name firstname,
4050 hz.person_last_name lastname,
4051 hz.address1 address,
4052 hz.city city,
4053 hz.postal_code postal_code,
4054 hz.email_address email_address,
4055 hp.date_of_birth date_of_birth,
4056 hp.gender gender
4057 FROM ( SELECT apii.pe_person_id, apii.api_person_id_uf
4058 FROM igs_pe_alt_pers_id apii, igs_pe_person_id_typ pit
4059 WHERE apii.person_id_type = pit.person_id_type
4060 AND pit.s_person_id_type = 'SSN'
4061 AND SYSDATE BETWEEN apii.start_dt AND NVL (apii.end_dt, SYSDATE)) api,
4062 hz_parties hz,
4063 hz_person_profiles hp
4064 WHERE hz.party_id = api.pe_person_id(+)
4065 AND hz.party_id = hp.party_id
4066 AND hp.effective_end_date IS NULL
4067 AND (api.api_person_id_uf = lv_ssn
4068 -- First Name
4069 OR (UPPER(hz.person_first_name) = UPPER(lv_fname) AND l_fname_exact_match = 'Y')
4070 OR (UPPER(hz.person_first_name) LIKE UPPER(lv_fname) AND l_fname_exact_match = 'N')
4071 -- Last Name
4072 OR (UPPER(hz.person_last_name) = UPPER(lv_lname) AND l_lname_exact_match = 'Y')
4073 OR (UPPER(hz.person_last_name) LIKE UPPER(lv_lname) AND l_lname_exact_match = 'N')
4074 )
4075
4076 UNION
4077 --Source of SSN from HRMS
4078 SELECT 'HRM' rec_type,
4079 ppf.party_id person_id, -- party id maps to HZ_parties.party_id
4080 remove_spl_chr(ppf.national_identifier) prsn_ssn,
4081 hz.person_first_name firstname,
4082 hz.person_last_name lastname,
4083 hz.address1 address,
4084 hz.city city,
4085 hz.postal_code postal_code,
4086 hz.email_address email_address,
4087 hp.date_of_birth date_of_birth,
4088 hp.gender gender
4089 FROM per_all_people_f ppf,
4090 per_business_groups_perf pbg,
4091 per_person_types ppt,
4092 hz_parties hz,
4093 hz_person_profiles hp
4094 WHERE IGS_EN_GEN_001.Check_HRMS_Installed = 'Y'
4095 AND pbg.legislation_code = 'US'
4096 AND ppt.system_person_type = 'EMP'
4097 AND ppt.person_type_id = ppf.person_type_id
4098 AND pbg.business_group_id = ppf.business_group_id
4099 AND TRUNC(SYSDATE) BETWEEN ppf.effective_start_date AND ppf.effective_end_date
4100 AND ppf.party_id = hz.party_id
4101 AND hz.party_id = hp.party_id
4102 AND hp.effective_end_date IS NULL
4103 AND remove_spl_chr(ppf.national_identifier) = lv_ssn
4104 ) v_dataset ORDER BY 2 ;
4105 lv_tot := t_rec_tab.COUNT;
4106
4107 FOR l_row IN 1..lv_tot
4108 LOOP
4109 l_process_rec := 'N'; -- initialize flag variable
4110 oss_person_match_rec := NULL;
4111
4112 IF t_rec_tab(l_row) = 'OSS' THEN
4113 l_process_rec := 'Y'; -- process OSS matching records as usual.
4114
4115 ELSE -- i.e. hrms match record for ssn
4116 -- this matching record is from HRMS. hence process only when SSN does not exist in OSS.
4117 OPEN check_oss_person_match(p_out_apm_id, t_pid_tab(l_row));
4118 FETCH check_oss_person_match INTO oss_person_match_rec;
4119
4120 -- If rec found then ignore the record else process the record and insert into match table.
4121 IF check_oss_person_match%NOTFOUND THEN
4122 l_process_rec := 'Y';
4123 END IF;
4124 CLOSE check_oss_person_match;
4125
4126 END IF; -- t_rec_tab
4127
4128 IF l_process_rec = 'Y' THEN -- process the record
4129 -- populate values into rec variable call for passing to process_match_person_rec proc
4130 match_details_rec.ssn_txt := t_prsn_ssn(l_row);
4131 match_details_rec.given_name_txt := t_first_name(l_row);
4132 match_details_rec.sur_name_txt := t_last_name(l_row);
4133 match_details_rec.address_txt := t_address(l_row);
4134 match_details_rec.city_txt := t_city(l_row);
4135 match_details_rec.zip_txt := t_postal_code(l_row);
4136 match_details_rec.email_id_txt := t_email_address(l_row);
4137 match_details_rec.birth_date := t_dob_tab(l_row);
4138 match_details_rec.gender_txt := t_gender(l_row);
4139
4140 -- call the procedure to match the attributes, compute score and insert rec into match details table
4141 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
4142 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_profile_matching_pkg.perform_record_matching.debug','Calling Method: calculate_match_score' );
4143 END IF;
4144 calculate_match_score(p_match_setup => g_setup_score,
4145 p_match_dtls_rec => match_details_rec,
4146 p_apm_id => p_out_apm_id,
4147 p_person_id => t_pid_tab(l_row)
4148 );
4149
4150 END IF;
4151
4152 IF check_oss_person_match%ISOPEN THEN
4153 CLOSE check_oss_person_match;
4154 END IF;
4155 END LOOP;
4156 EXCEPTION
4157 WHEN others THEN
4158 IF fnd_log.level_exception >= fnd_log.g_current_runtime_level THEN
4159 fnd_log.string(fnd_log.level_exception,'igf.plsql.igf_ap_profile_matching_pkg.perform_record_matching.exception','The exception is : ' || SQLERRM );
4160 END IF;
4161 fnd_message.set_name('IGS','IGS_GE_UNHANDLED_EXP');
4162 fnd_message.set_token('NAME','igf_ap_profile_matching_pkg.perform_record_matching');
4163 igs_ge_msg_stack.add;
4164 fnd_file.put_line(fnd_file.log, ' - '|| SQLERRM);
4165 log_debug_message('igf_ap_profile_matching_pkg.perform_record_matching'|| SQLERRM);
4166 app_exception.raise_exception;
4167 END perform_record_matching ;
4168
4169 PROCEDURE process_unidentified_isir_rec IS
4170 /*
4171 || Created By : rasahoo
4172 || Created On : 24-AUG-2004
4173 || Purpose : For processing ISIR recs with pell match type as 'U' i.e.
4174 || first isir for the student. Separate procedure is created for this
4175 || for clarity as it has quite a lot of steps
4176 || Known limitations, enhancements or remarks :
4177 || Change History :
4178 || Who When What
4179 ||
4180 || (reverse chronological order - newest change first)
4181 */
4182
4183 -- Cursor to get the person_id with highest match_score for a particulare apm_id
4184 CURSOR cur_get_max_data(cp_apm_id igf_ap_person_match.apm_id%TYPE) IS
4185 SELECT person_id,
4186 match_score
4187 FROM igf_ap_match_details
4188 WHERE apm_id = cp_apm_id
4189 ORDER BY match_score DESC;
4190
4191 lv_person_id igf_ap_match_details.person_id%TYPE;
4192 ln_match_score igf_ap_match_details.match_score%TYPE;
4193 ln_apm_id igf_ap_match_details.apm_id%TYPE;
4194
4195 BEGIN
4196 -- Unidentified ISIR. Hence first need to perform person match.
4197 -- call procedure for performing person match.
4198 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
4199 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_profile_matching_pkg.process_unidentified_isir_rec.debug','calling method: perform_record_matching');
4200 END IF;
4201 perform_record_matching(p_out_apm_id => ln_apm_id); -- OUT parameter
4202
4203 ln_match_score := 0;
4204 -- get the person record with the highest match_score
4205 OPEN cur_get_max_data(ln_apm_id);
4206 FETCH cur_get_max_data INTO lv_person_id, ln_match_score;
4207 CLOSE cur_get_max_data;
4208
4209 g_person_id := lv_person_id;
4210 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
4211 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_profile_matching_pkg.process_unidentified_isir_rec.debug','Match Score:' || TO_CHAR(ln_match_score));
4212 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_profile_matching_pkg.process_unidentified_isir_rec.debug','Min Score for Auto Creation:' || TO_CHAR(g_setup_score.min_score_auto_fa));
4213 END IF;
4214
4215 -- compare total score against the setup scores
4216 IF ln_match_score >= g_setup_score.min_score_auto_fa THEN
4217 -- person is deemed as matched.
4218 auto_fa_rec(p_person_id => g_person_id ,
4219 p_apm_id => ln_apm_id ,
4220 p_cal_type => g_ci_cal_type,
4221 p_seq_num => g_ci_sequence_number
4222 );
4223
4224 fnd_message.set_name('IGF','IGF_AP_ISIR_AUTO_FA');
4225 fnd_file.put_line(fnd_file.log, fnd_message.get);
4226
4227 ELSIF ln_match_score >= g_setup_score.min_score_rvw_fa THEN
4228 -- record status to be updated to review
4229 rvw_fa_rec(p_apm_id => ln_apm_id);
4230 ELSE
4231 -- match_score is less than the min_score_rvw_fa and hence to be marked as UNMATCHED.
4232 unmatched_rec(p_apm_id => ln_apm_id);
4233 END IF ;
4234
4235 EXCEPTION
4236 WHEN SKIP_PERSON THEN
4237 RAISE SKIP_PERSON;
4238 WHEN INVALID_PROFILE_ERROR THEN
4239 RAISE INVALID_PROFILE_ERROR;
4240 WHEN OTHERS THEN
4241 IF fnd_log.level_exception >= fnd_log.g_current_runtime_level THEN
4242 fnd_log.string(fnd_log.level_exception,'igf.plsql.igf_ap_profile_matching_pkg.process_unidentified_isir_rec.exception','The exception is : ' || SQLERRM );
4243 END IF;
4244 fnd_message.set_name('IGS','IGS_GE_UNHANDLED_EXP');
4245 fnd_message.set_token('NAME','igf_ap_profile_matching_pkg.process_unidentified_isir_rec');
4246 igs_ge_msg_stack.add;
4247 FND_FILE.PUT_LINE(fnd_file.log,fnd_message.get||' '||SQLERRM);
4248 log_debug_message('igf_ap_profile_matching_pkg.process_unidentified_isir_rec'|| SQLERRM);
4249 app_exception.raise_exception;
4250 END process_unidentified_isir_rec;
4251
4252 PROCEDURE process_old_new_dup_records IS
4253
4254 /*
4255 || Created By : rasahoo
4256 || Created On : 24-Aug-2004
4257 || Purpose : Process records of types Old, New and Duplicate
4258 || Known limitations, enhancements or remarks :
4259 || Change History :
4260 || Who When What
4261 || (reverse chronological order - newest change first)
4262 */
4263
4264 css_profile_data igf_ap_css_profile%ROWTYPE ;
4265 css_profile_data1 igf_ap_css_profile%ROWTYPE ;
4266 lv_cssp_id igf_ap_css_profile.cssp_id%TYPE ;
4267 fa_base_found BOOLEAN ;
4268
4269 -- Cursor to update the record_status of igf_ap_person_match to matched
4270 CURSOR cur_person_match(p_apm_id igf_ap_person_match.apm_id%TYPE) IS
4271 SELECT apm.*
4272 FROM igf_ap_person_match apm
4273 WHERE apm.apm_id = p_apm_id FOR UPDATE NOWAIT ;
4274
4275
4276 -- cursor to update the active_profile of igf_ap_css_profile to 'N'
4277 CURSOR cur_css_profile(x_base_id igf_ap_fa_base_rec.base_id%TYPE) IS
4278 SELECT *
4279 FROM igf_ap_css_profile
4280 WHERE base_id = x_base_id FOR UPDATE NOWAIT ;
4281
4282 --cursor to get the person_id from base_id
4283 CURSOR cur_get_person_id(cp_base_id igf_ap_fa_base_rec.base_id%TYPE)
4284 IS
4285 SELECT person_id
4286 FROM igf_ap_fa_base_rec_all
4287 WHERE base_id = cp_base_id ;
4288
4289 l_person_id igf_ap_fa_base_rec.person_id%TYPE ;
4290
4291 BEGIN
4292 l_person_id := NULL;
4293 IF g_rec_type = 'D' THEN
4294
4295 -- print the message that the record already exists....
4296 FND_MESSAGE.SET_NAME('IGF','IGF_AP_PROF_EXISTS');
4297 FND_FILE.PUT_LINE(fnd_file.log, fnd_message.get);
4298 g_duplicate_rec := g_duplicate_rec + 1;
4299 ELSIF g_rec_type = 'O' THEN
4300
4301 g_active_profile :='N';
4302 -- To insert the record into igf_ap_css_profile
4303 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
4304 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_profile_matching_pkg.process_old_new_dup_records.debug','Processing Old Rec:calling method: create_profile_matched');
4305 END IF;
4306
4307 process_todo_items(g_base_id);
4308 create_profile_matched(pn_css_id => g_cur_data.css_id,
4309 pn_cssp_id => lv_cssp_id ,
4310 pn_base_id => g_base_id ,
4311 pn_system_record_type => 'ORIGINAL'
4312 );
4313
4314 -- To Insert the record into igf_ap_css_fnar table.
4315 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
4316 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_profile_matching_pkg.process_old_new_dup_records.debug','Processing Old Rec:calling method: create_fnar_data');
4317 END IF;
4318 create_fnar_data(pn_css_id => g_cur_data.css_id,
4319 pn_cssp_id => lv_cssp_id
4320 ) ;
4321
4322 g_matched_rec := g_matched_rec + 1 ;
4323 ELSIF g_rec_type = 'N' THEN
4324 --
4325 make_profile_inactive(g_base_id);
4326 g_active_profile := 'Y';
4327 -- To insert the record into igf_ap_css_profile
4328 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
4329 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_profile_matching_pkg.process_old_new_dup_records.debug','Processing New Rec:calling method: create_profile_matched');
4330 END IF;
4331
4332 process_todo_items(g_base_id);
4333 -- add the call for todo processing
4334 create_profile_matched(pn_css_id => g_cur_data.css_id,
4335 pn_cssp_id => lv_cssp_id ,
4336 pn_base_id => g_base_id ,
4337 pn_system_record_type => 'ORIGINAL'
4338 );
4339
4340 -- To Insert the record into igf_ap_css_fnar table.
4341 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
4342 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_profile_matching_pkg.process_old_new_dup_records.debug','Processing New Rec:calling method: create_fnar_data');
4343 END IF;
4344 create_fnar_data(pn_css_id => g_cur_data.css_id,
4345 pn_cssp_id => lv_cssp_id
4346 ) ;
4347
4348
4349 -- To update the fields profile_status ,profile_status_date ,profile_fc
4350 update_fa_base_rec(p_base_id => g_base_id );
4351
4352 -- Added following call to update_person_info() as bug fix 3944249 (IGS.M)
4353 -- Update Email address
4354 OPEN cur_get_person_id (g_base_id);
4355 FETCH cur_get_person_id INTO l_person_id;
4356 CLOSE cur_get_person_id;
4357
4358 update_person_info(l_person_id);
4359
4360 g_matched_rec := g_matched_rec + 1 ;
4361 END IF;
4362
4363 -- PROCEDURE to update the record_status of igf_ap_css_interface to 'MATCHED'
4364 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
4365 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_profile_matching_pkg.process_old_new_dup_records.debug','calling method: update_css_interface');
4366 END IF;
4367 update_css_interface(pn_css_id => g_cur_data.css_id,
4368 pv_record_status => 'MATCHED',
4369 pv_match_code => g_match_code
4370 );
4371
4372 EXCEPTION
4373 WHEN others THEN
4374 IF fnd_log.level_exception >= fnd_log.g_current_runtime_level THEN
4375 fnd_log.string(fnd_log.level_exception,'igf.plsql.igf_ap_profile_matching_pkg.process_old_new_dup_records.exception','The exception is : ' || SQLERRM );
4376 END IF;
4377 FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXP');
4378 FND_MESSAGE.SET_TOKEN('NAME','IGF_AP_PROFILE_MATCHING_PKG.process_old_new_dup_records');
4379 IGS_GE_MSG_STACK.ADD;
4380 FND_FILE.PUT_LINE(fnd_file.log,fnd_message.get||' '||SQLERRM);
4381 log_debug_message('IGF_AP_PROFILE_MATCHING_PKG.process_old_new_dup_records'|| SQLERRM);
4382 app_exception.raise_exception;
4383 END process_old_new_dup_records ;
4384
4385 PROCEDURE main(
4386 errbuf OUT NOCOPY VARCHAR2,
4387 retcode OUT NOCOPY NUMBER,
4388 p_org_id IN NUMBER,
4389 p_award_year IN VARCHAR2,
4390 p_force_add IN VARCHAR2,
4391 p_create_inquiry IN VARCHAR2,
4392 p_adm_source_type IN VARCHAR2,
4393 p_match_code IN VARCHAR2,
4394 p_school_code IN VARCHAR2
4395 ) IS
4396 /*
4397 || Created By : vivuyyur
4398 || Created On : 11-JUN-2000
4399 || Purpose : Does the matching process
4400 || Known limitations, enhancements or remarks :
4401 || Change History :
4402 || Who When What
4403 || rasahoo 24-Aug-2004 FA-138: ISIR/PROFILE Enhancements.
4404 || masehgal 30-May-2002 # 2382216 Changed message to display SSN
4405 || instead of Person Name in the Import Process
4406 || Log File
4407 || masehgal 23-May-2002 # 2376750 Added match_records procedure.
4408 || Separated record matching from main
4409 || Added call to match_records for matching
4410 || masehgal 16-Apr-02 # 2320076 Modified data in output file
4411 || (reverse chronological order - newest change first)
4412 */
4413
4414
4415 CURSOR cur_school_cd(cp_school_cd igf_ap_css_interface.college_code%TYPE) IS
4416 SELECT 'Y'
4417 FROM igf_ap_css_interface
4418 WHERE college_code = cp_school_cd
4419 AND rownum =1 ;
4420
4421 CURSOR cur_match_set(cp_match_code igf_ap_record_match_all.match_code%TYPE) IS
4422 SELECT 'Y'
4423 FROM igf_ap_record_match
4424 WHERE match_code = cp_match_code
4425 AND enabled_flag = 'Y';
4426
4427 l_valid_found VARCHAR2(1);
4428
4429 CURSOR cur_css_id_number(cp_acad_year VARCHAR2, cp_css_id_number VARCHAR2) IS
4430 SELECT max(STU_RECORD_TYPE) max_stu_record_type, base_id
4431 FROM igf_ap_css_profile
4432 WHERE TO_NUMBER(academic_year) = cp_acad_year
4433 AND css_id_number = cp_css_id_number
4434 AND STU_RECORD_TYPE <> 'M'
4435 GROUP BY base_id;
4436
4437 rec_css_id_number cur_css_id_number%ROWTYPE;
4438
4439 -- Cursor to check duplicate
4440 CURSOR cur_check_duplicate(cp_acad_year VARCHAR2, cp_css_id_number VARCHAR2,cp_stu_rec_type VARCHAR2) IS
4441 SELECT 1
4442 FROM igf_ap_css_profile
4443 WHERE TO_NUMBER(academic_year) = cp_acad_year
4444 AND css_id_number = cp_css_id_number
4445 AND STU_RECORD_TYPE = cp_stu_rec_type;
4446 l_duplicate NUMBER;
4447 -- Get all the newly imported records for doing the matching process.
4448 CURSOR cur_css_interface(cp_acad_year VARCHAR2, cp_schoo_cd VARCHAR2) IS
4449 SELECT *
4450 FROM igf_ap_css_interface
4451 WHERE record_status IN ('NEW','UNMATCHED','REVIEW')
4452 AND TO_NUMBER(academic_year) = cp_acad_year
4453 AND college_code= NVL(cp_schoo_cd, college_code);
4454 -- AND rownum <5 ;
4455
4456 CURSOR cur_alt_code ( x_ci_cal_type igf_ap_fa_base_rec.ci_cal_type%TYPE ,
4457 x_ci_sequence_number igf_ap_fa_base_rec.ci_sequence_number%TYPE ) IS
4458 SELECT cal.alternate_code
4459 FROM igs_ca_inst cal
4460 WHERE cal.cal_type = x_ci_cal_type
4461 AND cal.sequence_number = x_ci_sequence_number;
4462
4463 CURSOR c_profile(cp_cal_type VARCHAR2,cp_seq_number NUMBER) IS
4464 SELECT css_academic_year
4465 FROM igf_ap_batch_aw_map_all
4466 WHERE ci_cal_type = cp_cal_type
4467 AND ci_sequence_number = cp_seq_number;
4468
4469 -- Get ci_cal_type,ci_sequence_number from IGF_AP_BATCH_AW_MAP which maps to academic year of
4470 -- cur_css_interface.academic_year .
4471 CURSOR cur_batch_aw_map(lv_academic_year NUMBER) IS
4472 SELECT ci_cal_type,ci_sequence_number
4473 FROM igf_ap_batch_aw_map
4474 WHERE css_academic_year = lv_academic_year;
4475
4476 -- Cursor to get the setup values from igf_ap_record_match
4477 CURSOR cur_setup_score(cp_match_code VARCHAR2) IS
4478 SELECT *
4479 FROM igf_ap_record_match
4480 WHERE match_code = cp_match_code;
4481
4482 lv_apm_id igf_ap_person_match.APM_ID%TYPE ;
4483 alt_code_rec cur_alt_code%ROWTYPE;
4484 l_cal_type igf_ap_fa_base_rec_all.ci_cal_type%TYPE ;
4485 l_seq_number igf_ap_fa_base_rec_all.ci_sequence_number%TYPE;
4486 l_profile_year igf_ap_batch_aw_map_all.css_academic_year%TYPE;
4487 l_profile c_profile%ROWTYPE;
4488 INVALID_PARAMETER EXCEPTION;
4489
4490 BEGIN
4491 igf_aw_gen.set_org_id(p_org_id);
4492
4493 fnd_stats.gather_table_stats(ownname => 'IGF', tabname => 'IGF_AP_CSS_INTERFACE_ALL' , cascade => TRUE);
4494
4495 l_cal_type := LTRIM(RTRIM(SUBSTR(p_award_year,1,10))) ;
4496 l_seq_number := TO_NUMBER(SUBSTR(p_award_year,11)) ;
4497
4498
4499 OPEN cur_alt_code(l_cal_type,l_seq_number);
4500 FETCH cur_alt_code INTO alt_code_rec;
4501
4502 FND_FILE.PUT_LINE(FND_FILE.LOG,' ');
4503 FND_MESSAGE.SET_NAME('IGF','IGF_AW_PROC_AWD');
4504 FND_MESSAGE.SET_TOKEN('AWD_YR',alt_code_rec.alternate_code);
4505 FND_FILE.PUT_LINE(FND_FILE.LOG,FND_MESSAGE.GET);
4506
4507 OPEN c_profile(l_cal_type,l_seq_number) ;
4508 FETCH c_profile INTO l_profile;
4509
4510 l_profile_year :=l_profile.css_academic_year;
4511
4512 -- School Code validation
4513 IF p_school_code IS NOT NULL THEN
4514
4515 OPEN cur_school_cd (p_school_code);
4516 FETCH cur_school_cd INTO l_valid_found;
4517
4518 IF cur_school_cd%NOTFOUND THEN
4519 CLOSE cur_school_cd;
4520 fnd_message.set_name('IGF','IGF_AP_INVALID_PARAMETER');
4521 fnd_message.set_token('PARAM_TYPE', 'SCHOOL CODE');
4522 igs_ge_msg_stack.add;
4523 RAISE INVALID_PARAMETER;
4524 END IF ;
4525 CLOSE cur_school_cd;
4526 END IF;
4527
4528 -- Validate Match code parameter
4529 OPEN cur_setup_score (p_match_code) ;
4530 FETCH cur_setup_score INTO g_setup_score;
4531
4532 IF cur_setup_score%NOTFOUND THEN
4533 CLOSE cur_setup_score ;
4534 fnd_message.set_name('IGF','IGF_AP_SETUP_SCORE_NOT_FOUND');
4535 fnd_file.put_line(fnd_file.log,fnd_message.get);
4536 RAISE INVALID_PARAMETER;
4537 END IF;
4538 CLOSE cur_setup_score ;
4539
4540 -- getting the values of ci_cal_type,ci_sequence_number
4541 OPEN cur_batch_aw_map(TO_NUMBER(l_profile_year)) ;
4542 FETCH cur_batch_aw_map INTO g_ci_cal_type,g_ci_sequence_number ;
4543 IF cur_batch_aw_map%NOTFOUND THEN
4544 CLOSE cur_batch_aw_map ;
4545 FND_MESSAGE.SET_NAME('IGF','IGF_AP_BATCH_YEAR_NOT_FOUND');
4546 IGS_GE_MSG_STACK.ADD;
4547 RAISE INVALID_PARAMETER;
4548 END IF ;
4549
4550 -- Copying the parameter values to the gobal variable.
4551 IF LTRIM(RTRIM(p_create_inquiry)) = 'Y' AND LTRIM(RTRIM(p_adm_source_type)) IS NULL THEN
4552 FND_MESSAGE.SET_NAME('IGF', 'IGF_AP_SOURCE_TYPE_REQ');
4553 FND_FILE.PUT_LINE(FND_FILE.LOG,FND_MESSAGE.GET);
4554 RAISE INVALID_PARAMETER;
4555 END IF;
4556
4557
4558 --intializing the variables
4559 g_force_add := p_force_add;
4560 g_create_inquiry := p_create_inquiry;
4561 g_adm_source_type := p_adm_source_type;
4562 g_match_code := p_match_code;
4563 g_school_code := p_school_code;
4564 g_total_processed := 0 ;
4565 g_matched_rec := 0 ;
4566 g_unmatched_rec := 0 ;
4567 g_unmatched_added := 0 ;
4568 g_bad_rec := 0 ;
4569 g_total_rvw := 0 ;
4570 g_duplicate_rec := 0 ;
4571 g_ci_cal_type := l_cal_type;
4572 g_ci_sequence_number := l_seq_number;
4573 g_profile_year := l_profile_year;
4574 g_active_profile := 'N';
4575
4576 OPEN cur_css_interface(l_profile_year,g_school_code );
4577 LOOP
4578 FETCH cur_css_interface INTO g_cur_data;
4579 EXIT WHEN cur_css_interface%NOTFOUND;
4580 BEGIN
4581
4582 SAVEPOINT IGFAP16_MAIN_SP1;
4583 FND_FILE.PUT_LINE(fnd_file.log,' ');
4584 FND_FILE.PUT_LINE(fnd_file.log,RPAD('*',50,'*'));
4585 FND_MESSAGE.SET_NAME ('IGF','IGF_AP_STUD_SSN_DTL');
4586 FND_MESSAGE.SET_TOKEN('NAME',g_cur_data.first_name||' '||g_cur_data.last_name );
4587 FND_MESSAGE.SET_TOKEN('SSN',g_cur_data.social_security_number );
4588 FND_FILE.PUT_LINE(FND_FILE.LOG,FND_MESSAGE.GET);
4589
4590 FND_MESSAGE.SET_NAME ('IGF','IGF_AP_STUD_PROF_DTL');
4591 FND_MESSAGE.SET_TOKEN('CNUM',g_cur_data.css_id_number);
4592 FND_MESSAGE.SET_TOKEN('SRTYPE',g_cur_data.STU_RECORD_TYPE);
4593 FND_FILE.PUT_LINE(FND_FILE.LOG,FND_MESSAGE.GET);
4594
4595
4596 OPEN cur_css_id_number(l_profile_year,g_cur_data.css_id_number);
4597 FETCH cur_css_id_number INTO rec_css_id_number;
4598 CLOSE cur_css_id_number;
4599
4600 IF NVL(rec_css_id_number.max_stu_record_type,'0') <> '0' THEN
4601 g_base_id := rec_css_id_number.base_id;
4602 IF (rec_css_id_number.max_stu_record_type = g_cur_data.STU_RECORD_TYPE) THEN
4603 g_rec_type := 'D';
4604 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
4605 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_profile_matching_pkg.main.debug','Record type is : D - Duplicate' );
4606 END IF;
4607
4608 ELSIF (rec_css_id_number.max_stu_record_type < g_cur_data.STU_RECORD_TYPE) THEN
4609 g_rec_type := 'N';
4610 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
4611 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_profile_matching_pkg.main.debug','Record type is : N - New' );
4612 END IF;
4613 ELSIF (rec_css_id_number.max_stu_record_type > g_cur_data.STU_RECORD_TYPE) THEN
4614 l_duplicate := NULL;
4615 OPEN cur_check_duplicate(l_profile_year,g_cur_data.css_id_number,g_cur_data.STU_RECORD_TYPE);
4616 FETCH cur_check_duplicate INTO l_duplicate;
4617 CLOSE cur_check_duplicate;
4618 IF l_duplicate IS NULL THEN
4619 g_rec_type := 'O';
4620 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
4621 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_profile_matching_pkg.main.debug','Record type is : O - Old' );
4622 END IF;
4623 ELSE
4624 g_rec_type := 'D';
4625 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
4626 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_profile_matching_pkg.main.debug','Record type is : D - Duplicate' );
4627 END IF;
4628 END IF;
4629
4630 END IF;
4631 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
4632 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_profile_matching_pkg.main.debug','calling method: process_old_new_dup_records' );
4633 END IF;
4634 process_old_new_dup_records;
4635
4636 ELSE
4637 g_rec_type := 'U';
4638 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
4639 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_profile_matching_pkg.main.debug','Record type is : U - Unidentified' );
4640 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_profile_matching_pkg.main.debug','calling method: process_unidentified_isir_rec' );
4641 END IF;
4642 process_unidentified_isir_rec;
4643
4644 END IF;
4645 -- Incrementing the total processed records
4646 g_total_processed := g_total_processed + 1 ;
4647 COMMIT;
4648 EXCEPTION
4649 WHEN SKIP_PERSON THEN
4650 ROLLBACK TO IGFAP16_MAIN_SP1;
4651 FND_MESSAGE.SET_NAME('IGF','IGF_SL_SKIPPING');
4652 fnd_file.put_line (FND_FILE.LOG, fnd_message.get);
4653
4654 WHEN INVALID_PROFILE_ERROR THEN
4655 ROLLBACK TO IGFAP16_MAIN_SP1;
4656 IF fnd_log.level_exception >= fnd_log.g_current_runtime_level THEN
4657 fnd_log.string(fnd_log.level_exception,'igf.plsql.igf_ap_profile_matching_pkg.main.exception','The exception is :The profile option "HZ: Generate Party Number" is set to No.');
4658 END IF;
4659 fnd_message.set_name ('IGF','IGF_AP_HZ_GEN_PARTY_NUMBER');
4660 fnd_file.put_line (FND_FILE.LOG, fnd_message.get);
4661 WHEN OTHERS THEN
4662 ROLLBACK TO IGFAP16_MAIN_SP1; -- already error message is printed
4663 IF fnd_log.level_exception >= fnd_log.g_current_runtime_level THEN
4664 fnd_log.string(fnd_log.level_exception,'igf.plsql.igf_ap_profile_matching_pkg.main.exception','The exception in main inner begin others, for skipping student');
4665 END IF;
4666 log_debug_message ('igf.plsql.igf_ap_profile_matching_pkg.main.exception'|| SQLERRM);
4667 END;
4668 END LOOP;
4669
4670 retcode := 0;
4671 FND_MESSAGE.SET_NAME('IGF','IGF_AP_TOTAL_RECS');
4672 FND_MESSAGE.SET_TOKEN('COUNT','');
4673 FND_FILE.PUT_LINE(fnd_file.output,RPAD(FND_MESSAGE.GET,50,'.')||TO_CHAR(g_total_processed));
4674
4675 FND_MESSAGE.SET_NAME('IGF','IGF_AP_MATCHED_RECS');
4676 FND_MESSAGE.SET_TOKEN('COUNT','');
4677 FND_FILE.PUT_LINE(fnd_file.output,RPAD(FND_MESSAGE.GET,50,'.') || TO_CHAR(g_matched_rec));
4678
4679 FND_MESSAGE.SET_NAME('IGF','IGF_AP_UNMATCHED_RECS');
4680 FND_MESSAGE.SET_TOKEN('COUNT','');
4681 FND_FILE.PUT_LINE(fnd_file.output,RPAD(FND_MESSAGE.GET,50,'.') || TO_CHAR(g_unmatched_rec));
4682
4683 FND_MESSAGE.SET_NAME('IGF','IGF_AP_DUP_RECS');
4684 FND_MESSAGE.SET_TOKEN('COUNT','');
4685 FND_FILE.PUT_LINE(fnd_file.output,RPAD(FND_MESSAGE.GET,50,'.') || TO_CHAR(g_duplicate_rec));
4686
4687 FND_MESSAGE.SET_NAME('IGF','IGF_AP_BAD_RECS');
4688 FND_MESSAGE.SET_TOKEN('COUNT','');
4689 FND_FILE.PUT_LINE(fnd_file.output,RPAD(FND_MESSAGE.GET,50,'.') || TO_CHAR(g_bad_rec));
4690
4691 FND_MESSAGE.SET_NAME('IGF','IGF_AP_NEW_PER_RECS');
4692 FND_MESSAGE.SET_TOKEN('COUNT','');
4693 FND_FILE.PUT_LINE(fnd_file.output,RPAD(FND_MESSAGE.GET,50,'.') || TO_CHAR(g_unmatched_added));
4694
4695 FND_MESSAGE.SET_NAME('IGF','IGF_AP_RVW_RECS');
4696 FND_MESSAGE.SET_TOKEN('COUNT','');
4697 FND_FILE.PUT_LINE(fnd_file.output,RPAD(FND_MESSAGE.GET,50,'.') || TO_CHAR(g_total_rvw));
4698
4699 IF cur_css_interface%ISOPEN THEN
4700 CLOSE cur_css_interface;
4701 END IF;
4702 IF c_profile%ISOPEN THEN
4703 CLOSE c_profile;
4704 END IF;
4705 IF cur_alt_code%ISOPEN THEN
4706 CLOSE cur_alt_code;
4707 END IF;
4708 IF cur_setup_score%ISOPEN THEN
4709 CLOSE cur_setup_score;
4710 END IF;
4711 IF cur_batch_aw_map%ISOPEN THEN
4712 CLOSE cur_batch_aw_map;
4713 END IF;
4714
4715 EXCEPTION
4716 WHEN INVALID_PARAMETER THEN
4717 NULL; --bcoz message is already printed before raising
4718
4719 WHEN others THEN
4720 IF fnd_log.level_exception >= fnd_log.g_current_runtime_level THEN
4721 fnd_log.string(fnd_log.level_exception,'igf.plsql.igf_ap_profile_matching_pkg.main.exception','The exception is : ' || SQLERRM );
4722 END IF;
4723 IF cur_css_interface%ISOPEN THEN
4724 CLOSE cur_css_interface;
4725 END IF;
4726 IF c_profile%ISOPEN THEN
4727 CLOSE c_profile;
4728 END IF;
4729 IF cur_alt_code%ISOPEN THEN
4730 CLOSE cur_alt_code;
4731 END IF;
4732 IF cur_setup_score%ISOPEN THEN
4733 CLOSE cur_setup_score;
4734 END IF;
4735 IF cur_batch_aw_map%ISOPEN THEN
4736 CLOSE cur_batch_aw_map;
4737 END IF;
4738
4739 FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXP');
4740 FND_MESSAGE.SET_TOKEN('NAME','IGF_AP_PROFILE_MATCHING_PKG.main');
4741 IGS_GE_MSG_STACK.ADD;
4742 retcode := 2;
4743 errbuf:= FND_MESSAGE.GET;
4744 rollback;
4745 FND_FILE.PUT_LINE(fnd_file.log,errbuf);
4746 igs_ge_msg_stack.conc_exception_hndl;
4747
4748 END main;
4749
4750 PROCEDURE ss_wrap_create_person_record (p_css_id IN NUMBER)
4751 IS
4752
4753 CURSOR cur_css_interface(cp_css_id IN NUMBER) IS
4754 SELECT *
4755 FROM igf_ap_css_interface
4756 WHERE css_id = cp_css_id;
4757
4758 CURSOR get_apm_id(cp_css_id NUMBER)
4759 IS
4760 SELECT apm_id
4761 FROM igf_ap_person_match
4762 WHERE css_id = cp_css_id;
4763
4764 CURSOR cur_get_cal_sequence (cp_batch_year igf_ap_batch_aw_map.batch_year%TYPE) IS
4765 SELECT ibm.ci_cal_type, ibm.ci_sequence_number
4766 FROM IGF_AP_BATCH_AW_MAP ibm
4767 WHERE ibm.batch_year = cp_batch_year;
4768
4769 rec_get_cal_sequence cur_get_cal_sequence%ROWTYPE;
4770
4771 l_apm_id NUMBER;
4772
4773 BEGIN
4774
4775 OPEN cur_css_interface(p_css_id);
4776 FETCH cur_css_interface INTO g_cur_data;
4777 CLOSE cur_css_interface;
4778
4779 OPEN cur_get_cal_sequence (g_cur_data.academic_year);
4780 FETCH cur_get_cal_sequence INTO rec_get_cal_sequence;
4781 IF cur_get_cal_sequence%NOTFOUND THEN
4782 CLOSE cur_get_cal_sequence;
4783 -- x_return_status := 'E';
4784 RETURN;
4785 ELSE
4786 g_ci_cal_type := rec_get_cal_sequence.ci_cal_type;
4787 g_ci_sequence_number := rec_get_cal_sequence.ci_sequence_number;
4788 CLOSE cur_get_cal_sequence;
4789 END IF;
4790
4791 g_force_add := 'Y';
4792 g_create_inquiry := 'N';
4793 g_adm_source_type := 'N';
4794 -- g_match_code := p_match_code;
4795 g_school_code := NULL;
4796 g_total_processed := 0 ;
4797 g_matched_rec := 0 ;
4798 g_unmatched_rec := 0 ;
4799 g_unmatched_added := 0 ;
4800 g_bad_rec := 0 ;
4801 g_total_rvw := 0 ;
4802 g_duplicate_rec := 0 ;
4803 --g_profile_year := l_profile_year;
4804 g_active_profile := 'N';
4805 g_rec_type := 'U';
4806
4807 l_apm_id:= NULL;
4808 OPEN get_apm_id(p_css_id);
4809 FETCH get_apm_id INTO l_apm_id;
4810 CLOSE get_apm_id;
4811
4812 unmatched_rec(l_apm_id);
4813
4814 EXCEPTION
4815 WHEN others THEN
4816 IF fnd_log.level_exception >= fnd_log.g_current_runtime_level THEN
4817 fnd_log.string(fnd_log.level_exception,'igf.plsql.igf_ap_profile_matching_pkg.unmatched_rec.exception','The exception is : ' || SQLERRM );
4818 END IF;
4819 log_debug_message('IGF_AP_PROFILE_MATCHING_PKG.unmatched_rec'|| SQLERRM);
4820 app_exception.raise_exception;
4821 END ss_wrap_create_person_record;
4822
4823
4824 PROCEDURE ss_wrap_refresh_matches(
4825 p_css_id IN NUMBER,
4826 p_match_code IN VARCHAR2,
4827 p_batch_year IN NUMBER
4828 ) IS
4829
4830 CURSOR cur_get_cal_sequence (cp_batch_year igf_ap_batch_aw_map.batch_year%TYPE) IS
4831 SELECT ibm.ci_cal_type, ibm.ci_sequence_number
4832 FROM IGF_AP_BATCH_AW_MAP ibm
4833 WHERE ibm.batch_year = cp_batch_year;
4834
4835 rec_get_cal_sequence cur_get_cal_sequence%ROWTYPE;
4836
4837 CURSOR cur_css_interface(cp_css_id IN NUMBER) IS
4838 SELECT *
4839 FROM igf_ap_css_interface
4840 WHERE css_id = cp_css_id;
4841
4842 CURSOR cur_setup_score(cp_match_code VARCHAR2) IS
4843 SELECT *
4844 FROM igf_ap_record_match
4845 WHERE match_code = cp_match_code;
4846
4847 BEGIN
4848 OPEN cur_get_cal_sequence (p_batch_year);
4849 FETCH cur_get_cal_sequence INTO rec_get_cal_sequence;
4850 IF cur_get_cal_sequence%NOTFOUND THEN
4851 CLOSE cur_get_cal_sequence;
4852 -- x_return_status := 'E';
4853 RETURN;
4854 ELSE
4855 g_ci_cal_type := rec_get_cal_sequence.ci_cal_type;
4856 g_ci_sequence_number := rec_get_cal_sequence.ci_sequence_number;
4857 CLOSE cur_get_cal_sequence;
4858 END IF;
4859
4860 g_force_add := 'N';
4861 g_create_inquiry := 'N';
4862 g_adm_source_type := 'N';
4863 g_match_code := p_match_code;
4864 g_school_code := NULL;
4865 g_total_processed := 0 ;
4866 g_matched_rec := 0 ;
4867 g_unmatched_rec := 0 ;
4868 g_unmatched_added := 0 ;
4869 g_bad_rec := 0 ;
4870 g_total_rvw := 0 ;
4871 g_duplicate_rec := 0 ;
4872 --g_profile_year := l_profile_year;
4873 g_active_profile := 'N';
4874 g_rec_type := 'U';
4875
4876 OPEN cur_setup_score (p_match_code) ;
4877 FETCH cur_setup_score INTO g_setup_score;
4878 CLOSE cur_setup_score ;
4879
4880 OPEN cur_css_interface(p_css_id);
4881 FETCH cur_css_interface INTO g_cur_data;
4882 CLOSE cur_css_interface;
4883
4884 process_unidentified_isir_rec;
4885
4886 EXCEPTION
4887 WHEN others THEN
4888 IF fnd_log.level_exception >= fnd_log.g_current_runtime_level THEN
4889 fnd_log.string(fnd_log.level_exception,'igf.plsql.igf_ap_profile_matching_pkg.ss_wrap_refresh_matches.exception','The exception is : ' || SQLERRM );
4890 END IF;
4891 FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXP');
4892 FND_MESSAGE.SET_TOKEN('NAME','IGF_AP_PROFILE_MATCHING_PKG.ss_wrap_refresh_matches');
4893 IGS_GE_MSG_STACK.ADD;
4894 fnd_file.put_line(fnd_file.log,fnd_message.get || ' - '|| SQLERRM);
4895 log_debug_message('IGF_AP_PROFILE_MATCHING_PKG.ss_wrap_refresh_matches'||SQLERRM);
4896 -- app_exception.raise_exception;
4897 END ss_wrap_refresh_matches;
4898
4899 PROCEDURE ss_wrap_create_base_record ( p_css_id IN NUMBER,
4900 p_person_id IN NUMBER,
4901 p_batch_year IN NUMBER)
4902 AS
4903 CURSOR cur_get_cal_sequence (cp_batch_year igf_ap_batch_aw_map.batch_year%TYPE) IS
4904 SELECT ibm.ci_cal_type, ibm.ci_sequence_number
4905 FROM IGF_AP_BATCH_AW_MAP ibm
4906 WHERE ibm.batch_year = cp_batch_year;
4907 rec_get_cal_sequence cur_get_cal_sequence%ROWTYPE;
4908
4909 CURSOR cur_css_interface(cp_css_id IN NUMBER) IS
4910 SELECT *
4911 FROM igf_ap_css_interface
4912 WHERE css_id = cp_css_id;
4913
4914 fabase_data igf_ap_fa_base_rec%ROWTYPE ;
4915 lv_person_id igf_ap_person_v.person_id%TYPE ;
4916 lv_base_id igf_ap_fa_base_rec.base_id%TYPE ;
4917 lv_cssp_id igf_ap_css_profile.cssp_id%TYPE ;
4918 lv_mesg_data VARCHAR2(2000);
4919
4920 BEGIN
4921
4922 OPEN cur_get_cal_sequence (p_batch_year);
4923 FETCH cur_get_cal_sequence INTO rec_get_cal_sequence;
4924 IF cur_get_cal_sequence%NOTFOUND THEN
4925 CLOSE cur_get_cal_sequence;
4926 -- x_return_status := 'E';
4927 RETURN;
4928 ELSE
4929 g_ci_cal_type := rec_get_cal_sequence.ci_cal_type;
4930 g_ci_sequence_number := rec_get_cal_sequence.ci_sequence_number;
4931 CLOSE cur_get_cal_sequence;
4932 END IF;
4933 g_force_add := 'N';
4934 g_create_inquiry := 'N';
4935 g_adm_source_type := 'N';
4936 -- g_match_code := p_match_code;
4937 g_school_code := NULL;
4938 g_total_processed := 0 ;
4939 g_matched_rec := 0 ;
4940 g_unmatched_rec := 0 ;
4941 g_unmatched_added := 0 ;
4942 g_bad_rec := 0 ;
4943 g_total_rvw := 0 ;
4944 g_duplicate_rec := 0 ;
4945 --g_profile_year := l_profile_year;
4946 g_active_profile := 'N';
4947 g_rec_type := 'U';
4948
4949 OPEN cur_css_interface(p_css_id);
4950 FETCH cur_css_interface INTO g_cur_data;
4951 CLOSE cur_css_interface;
4952
4953 IF NOT igf_ap_profile_matching_pkg.is_fa_base_record_present ( pn_person_id => p_person_id,
4954 pn_cal_type => g_ci_cal_type,
4955 pn_sequence_number => g_ci_sequence_number ,
4956 pn_base_id => lv_base_id
4957 ) THEN
4958
4959 -- Creation of fa_base_record
4960 create_fa_base_record(pn_css_id => g_cur_data.css_id,
4961 pn_person_id => p_person_id ,
4962 pn_base_id => lv_base_id
4963 );
4964 END IF;
4965
4966
4967 -- Inserting the record into igf_ap_css_profile with system_record_type as 'ORIGINAL'
4968 make_profile_inactive(lv_base_id);
4969 g_active_profile:= 'Y';
4970 process_todo_items(lv_base_id);
4971 IGF_AP_PROFILE_MATCHING_PKG.create_profile_matched(pn_css_id => g_cur_data.css_id,
4972 pn_cssp_id => lv_cssp_id ,
4973 pn_base_id => lv_base_id ,
4974 pn_system_record_type => 'ORIGINAL'
4975 );
4976 -- To insert the record into igf_ap_css_fnar
4977 IGF_AP_PROFILE_MATCHING_PKG.create_fnar_data(pn_css_id => g_cur_data.css_id,
4978 pn_cssp_id => lv_cssp_id
4979 ) ;
4980
4981 -- PROCEDURE to update the record_status of igf_ap_css_interface to 'MATCHED'
4982 IGF_AP_PROFILE_MATCHING_PKG.update_css_interface(pn_css_id => g_cur_data.css_id,
4983 pv_record_status => 'MATCHED',
4984 pv_match_code => g_match_code
4985 );
4986 -- To update the fields profile_status ,profile_status_datae ,profile_fc
4987 update_fa_base_rec(p_base_id => lv_base_id );
4988 EXCEPTION
4989 WHEN others THEN
4990 IF fnd_log.level_exception >= fnd_log.g_current_runtime_level THEN
4991 fnd_log.string(fnd_log.level_exception,'igf.plsql.igf_ap_profile_matching_pkg.ss_wrap_create_base_record.exception','The exception is : ' || SQLERRM );
4992 END IF;
4993 log_debug_message('IGF_AP_PROFILE_MATCHING_PKG.ss_wrap_create_base_record'|| SQLERRM);
4994 app_exception.raise_exception;
4995 END ss_wrap_create_base_record;
4996
4997 PROCEDURE ss_wrap_upload_Profile ( p_css_id IN NUMBER,
4998 x_msg_data OUT NOCOPY VARCHAR2,
4999 x_return_status OUT NOCOPY VARCHAR2
5000 )
5001 IS
5002 /*
5003 || Created By : ugummall
5004 || Created On : 05-Aug-2004
5005 || Purpose : This Procedure does the following tasks.
5006 || 1. Upload the PROFILE record from interface table to profile table.
5007 || 2. Update PROFILE interface record status to "MATCHED".
5008 || 3. Deletes corresponding records in match details and person match table.
5009 || Known limitations, enhancements or remarks :
5010 || Change History :
5011 || Who When What
5012 */
5013
5014 -- cursor to check wether duplicate profile exists or not in the system.
5015 CURSOR cur_check_duplicate_profile ( cp_css_id_number igf_ap_css_interface_all.css_id%TYPE,
5016 cp_stu_record_type igf_ap_css_interface_all.stu_record_type%TYPE,
5017 cp_academic_year igf_ap_css_interface_all.academic_year%TYPE
5018 ) IS
5019 SELECT 1
5020 FROM IGF_AP_CSS_PROFILE prof
5021 WHERE prof.css_id_number = cp_css_id_number
5022 AND prof.stu_record_type = cp_stu_record_type
5023 AND prof.academic_year = cp_academic_year;
5024
5025 -- cursor to get interface record.
5026 CURSOR cur_interface_record ( cp_css_id igf_ap_css_interface_all.css_id%TYPE) IS
5027 SELECT intr.*
5028 FROM IGF_AP_CSS_INTERFACE intr
5029 WHERE intr.css_id = cp_css_id;
5030
5031 -- Cursor to get all old profile records to make active profile to 'N'
5032 CURSOR cur_profile_records(cp_css_id_number igf_ap_css_profile.css_id_number%TYPE) IS
5033 SELECT prof.*
5034 FROM IGF_AP_CSS_PROFILE prof
5035 WHERE prof.css_id_number = cp_css_id_number FOR UPDATE NOWAIT;
5036
5037 CURSOR cur_get_base_id(cp_css_id_number igf_ap_css_profile.css_id_number%TYPE) IS
5038 SELECT prof.base_id
5039 FROM IGF_AP_CSS_PROFILE prof
5040 WHERE prof.css_id_number = cp_css_id_number;
5041
5042 CURSOR cur_get_cal_sequence (cp_batch_year igf_ap_batch_aw_map.batch_year%TYPE) IS
5043 SELECT ibm.ci_cal_type, ibm.ci_sequence_number
5044 FROM IGF_AP_BATCH_AW_MAP ibm
5045 WHERE ibm.batch_year = cp_batch_year;
5046
5047 rec_get_cal_sequence cur_get_cal_sequence%ROWTYPE;
5048
5049 rec_check_duplicate_profile cur_check_duplicate_profile%ROWTYPE;
5050 rec_profile_records cur_profile_records%ROWTYPE;
5051 rec_get_base_id cur_get_base_id%ROWTYPE;
5052 l_base_id igf_ap_css_profile_all.base_id%TYPE;
5053 lv_rowid NUMBER;
5054 pn_cssp_id NUMBER;
5055
5056 BEGIN
5057
5058 fnd_msg_pub.initialize;
5059 x_return_status := fnd_api.g_ret_sts_success;
5060 x_msg_data := '';
5061
5062 -- Get interface record.
5063 OPEN cur_interface_record(p_css_id);
5064 FETCH cur_interface_record INTO g_cur_data;
5065 CLOSE cur_interface_record;
5066
5067 OPEN cur_get_cal_sequence (g_cur_data.academic_year);
5068 FETCH cur_get_cal_sequence INTO rec_get_cal_sequence;
5069 IF cur_get_cal_sequence%NOTFOUND THEN
5070 CLOSE cur_get_cal_sequence;
5071 -- x_return_status := 'E';
5072 RETURN;
5073 ELSE
5074 g_ci_cal_type := rec_get_cal_sequence.ci_cal_type;
5075 g_ci_sequence_number := rec_get_cal_sequence.ci_sequence_number;
5076 CLOSE cur_get_cal_sequence;
5077 END IF;
5078 g_force_add := 'N';
5079 g_create_inquiry := 'N';
5080 g_adm_source_type := 'N';
5081 -- g_match_code := p_match_code;
5082 g_school_code := NULL;
5083 g_total_processed := 0 ;
5084 g_matched_rec := 0 ;
5085 g_unmatched_rec := 0 ;
5086 g_unmatched_added := 0 ;
5087 g_bad_rec := 0 ;
5088 g_total_rvw := 0 ;
5089 g_duplicate_rec := 0 ;
5090 --g_profile_year := l_profile_year;
5091 g_active_profile := 'N';
5092 g_rec_type := 'U';
5093
5094
5095 OPEN cur_check_duplicate_profile(g_cur_data.css_id_number, g_cur_data.stu_record_type, g_cur_data.academic_year);
5096 FETCH cur_check_duplicate_profile INTO rec_check_duplicate_profile;
5097 IF (cur_check_duplicate_profile%FOUND) THEN
5098 g_rec_type := 'D';
5099 fnd_message.set_name('IGF','IGF_AP_PROFILE_EXISTS');
5100 fnd_file.put_line(fnd_file.log, fnd_message.get);
5101 x_return_status := 'S';
5102 ELSE
5103 g_rec_type := 'N';
5104 fnd_message.set_name('IGF','IGF_AP_PROFILE_UPLOADED');
5105 x_msg_data := fnd_message.get;
5106 x_return_status := 'S';
5107 END IF;
5108
5109 -- Process new or duplicate record
5110 process_old_new_dup_records;
5111
5112 EXCEPTION WHEN OTHERS THEN
5113 IF fnd_log.level_exception >= fnd_log.g_current_runtime_level THEN
5114 fnd_log.string(fnd_log.level_exception,'igf.plsql.igf_ap_profile_gen_pkg.ss_upload_profile.exception','The exception is : ' || SQLERRM );
5115 END IF;
5116 fnd_message.set_name('IGS','IGS_GE_UNHANDLED_EXP');
5117 fnd_message.set_token('NAME','igf_ap_profile_gen_pkg.ss_upload_profile');
5118 fnd_file.put_line(fnd_file.log,fnd_message.get);
5119 igs_ge_msg_stack.add;
5120 x_return_status := 'E';
5121 END ss_wrap_upload_Profile;
5122
5123
5124
5125
5126 END IGF_AP_PROFILE_MATCHING_PKG;