DBA Data[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;