[Home] [Help]
PACKAGE BODY: APPS.HZ_ORGANIZATION_BO_PUB
Source
1 PACKAGE BODY hz_organization_bo_pub AS
2 /*$Header: ARHBPOBB.pls 120.21.12010000.8 2009/10/28 18:04:00 awu ship $ */
3
4 -- PRIVATE PROCEDURE assign_organization_rec
5 --
6 -- DESCRIPTION
7 -- Assign attribute value from organization business object to plsql record.
8 --
9 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
10 --
11 -- ARGUMENTS
12 -- IN:
13 -- p_organization_obj Organization object.
14 -- p_organization_id Organization Id.
15 -- p_organization_os Organization original system.
16 -- p_organization_osr Organization original system reference.
17 -- p_create_or_update Create or update flag.
18 -- IN/OUT:
19 -- px_organization_rec Organization plsql record.
20 --
21 -- NOTES
22 --
23 -- MODIFICATION HISTORY
24 --
25 -- 02-MAR-2005 Arnold Ng Created.
26
27 PROCEDURE assign_organization_rec(
28 p_organization_obj IN HZ_ORGANIZATION_BO,
29 p_organization_id IN NUMBER,
30 p_organization_os IN VARCHAR2,
31 p_organization_osr IN VARCHAR2,
32 p_create_or_update IN VARCHAR2 := 'C',
33 px_organization_rec IN OUT NOCOPY HZ_PARTY_V2PUB.ORGANIZATION_REC_TYPE
34 );
35
36 -- PRIVATE PROCEDURE assign_credit_rating_rec
37 --
38 -- DESCRIPTION
39 -- Assign attribute value from credit rating object to plsql record.
40 --
41 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
42 --
43 -- ARGUMENTS
44 -- IN:
45 -- p_credit_rating_obj Credit rating object.
46 -- p_party_id Party Id.
47 -- IN/OUT:
48 -- px_credit_rating_rec Credit rating plsql record.
49 --
50 -- NOTES
51 --
52 -- MODIFICATION HISTORY
53 --
54 -- 02-MAR-2005 Arnold Ng Created.
55
56 PROCEDURE assign_credit_rating_rec(
57 p_credit_rating_obj IN HZ_CREDIT_RATING_OBJ,
58 p_party_id IN NUMBER,
59 px_credit_rating_rec IN OUT NOCOPY HZ_PARTY_INFO_V2PUB.CREDIT_RATING_REC_TYPE
60 );
61
62 -- PRIVATE PROCEDURE assign_financial_report_rec
63 --
64 -- DESCRIPTION
65 -- Assign attribute value from financial report object to plsql record.
66 --
67 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
68 --
69 -- ARGUMENTS
70 -- IN:
71 -- p_fin_report_obj Financial report object.
72 -- p_party_id Party Id.
73 -- IN/OUT:
74 -- px_fin_report_rec Financial report plsql record.
75 --
76 -- NOTES
77 --
78 -- MODIFICATION HISTORY
79 --
80 -- 02-MAR-2005 Arnold Ng Created.
81
82 PROCEDURE assign_financial_report_rec(
83 p_fin_report_obj IN HZ_FINANCIAL_BO,
84 p_party_id IN NUMBER,
85 px_fin_report_rec IN OUT NOCOPY HZ_ORGANIZATION_INFO_V2PUB.FINANCIAL_REPORT_REC_TYPE
86 );
87
88 -- PRIVATE PROCEDURE assign_financial_number_rec
89 --
90 -- DESCRIPTION
91 -- Assign attribute value from financial number object to plsql record.
92 --
93 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
94 --
95 -- ARGUMENTS
96 -- IN:
97 -- p_fin_number_obj Financial number object.
98 -- p_fin_report_id Financial report Id.
99 -- IN/OUT:
100 -- px_fin_number_rec Financial number plsql record.
101 --
102 -- NOTES
103 --
104 -- MODIFICATION HISTORY
105 --
106 -- 02-MAR-2005 Arnold Ng Created.
107
108 PROCEDURE assign_financial_number_rec(
109 p_fin_number_obj IN HZ_FINANCIAL_NUMBER_OBJ,
110 p_fin_report_id IN NUMBER,
111 px_fin_number_rec IN OUT NOCOPY HZ_ORGANIZATION_INFO_V2PUB.FINANCIAL_NUMBER_REC_TYPE
112 );
113
114 -- PRIVATE PROCEDURE create_credit_ratings
115 --
116 -- DESCRIPTION
117 -- Create credit ratings.
118 PROCEDURE create_credit_ratings(
119 p_credit_rating_objs IN OUT NOCOPY HZ_CREDIT_RATING_OBJ_TBL,
120 p_organization_id IN NUMBER,
121 x_return_status OUT NOCOPY VARCHAR2,
122 x_msg_count OUT NOCOPY NUMBER,
123 x_msg_data OUT NOCOPY VARCHAR2
124 );
125
126 -- PRIVATE PROCEDURE save_credit_ratings
127 --
128 -- DESCRIPTION
129 -- Create or update credit ratings.
130 PROCEDURE save_credit_ratings(
131 p_credit_rating_objs IN OUT NOCOPY HZ_CREDIT_RATING_OBJ_TBL,
132 p_organization_id IN NUMBER,
133 x_return_status OUT NOCOPY VARCHAR2,
134 x_msg_count OUT NOCOPY NUMBER,
135 x_msg_data OUT NOCOPY VARCHAR2
136 );
137
138 -- PRIVATE PROCEDURE create_financial_reports
139 --
140 -- DESCRIPTION
141 -- Create financial reports.
142 PROCEDURE create_financial_reports(
143 p_fin_objs IN OUT NOCOPY HZ_FINANCIAL_BO_TBL,
144 p_organization_id IN NUMBER,
145 x_return_status OUT NOCOPY VARCHAR2,
146 x_msg_count OUT NOCOPY NUMBER,
147 x_msg_data OUT NOCOPY VARCHAR2
148 );
149
150 -- PRIVATE PROCEDURE save_financial_reports
151 --
152 -- DESCRIPTION
153 -- Create or update financial reports.
154 PROCEDURE save_financial_reports(
155 p_fin_objs IN OUT NOCOPY HZ_FINANCIAL_BO_TBL,
156 p_organization_id IN NUMBER,
157 x_return_status OUT NOCOPY VARCHAR2,
158 x_msg_count OUT NOCOPY NUMBER,
159 x_msg_data OUT NOCOPY VARCHAR2
160 );
161
162 -- PRIVATE PROCEDURE assign_organization_rec
163 --
164 -- DESCRIPTION
165 -- Assign attribute value from organization business object to plsql record.
166 --
167 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
168 --
169 -- ARGUMENTS
170 -- IN:
171 -- p_organization_obj Organization object.
172 -- p_organization_id Organization Id.
173 -- p_organization_os Organization original system.
174 -- p_organization_osr Organization original system reference.
175 -- p_create_or_update Create or update flag.
176 -- IN/OUT:
177 -- px_organization_rec Organization plsql record.
178 --
179 -- NOTES
180 --
181 -- MODIFICATION HISTORY
182 --
183 -- 02-MAR-2005 Arnold Ng Created.
184
185 PROCEDURE assign_organization_rec(
186 p_organization_obj IN HZ_ORGANIZATION_BO,
187 p_organization_id IN NUMBER,
188 p_organization_os IN VARCHAR2,
189 p_organization_osr IN VARCHAR2,
190 p_create_or_update IN VARCHAR2 := 'C',
191 px_organization_rec IN OUT NOCOPY HZ_PARTY_V2PUB.ORGANIZATION_REC_TYPE
192 ) IS
193 BEGIN
194 px_organization_rec.organization_name:= p_organization_obj.organization_name;
195 px_organization_rec.duns_number_c:= p_organization_obj.duns_number_c;
196 px_organization_rec.enquiry_duns:= p_organization_obj.enquiry_duns;
197 px_organization_rec.ceo_name:= p_organization_obj.ceo_name;
198 px_organization_rec.ceo_title:= p_organization_obj.ceo_title;
199 px_organization_rec.principal_name:= p_organization_obj.principal_name;
200 px_organization_rec.principal_title:= p_organization_obj.principal_title;
201 px_organization_rec.legal_status:= p_organization_obj.legal_status;
202 px_organization_rec.control_yr:= p_organization_obj.control_yr;
203 px_organization_rec.employees_total:= p_organization_obj.employees_total;
204 px_organization_rec.hq_branch_ind:= p_organization_obj.hq_branch_ind;
205 IF(p_organization_obj.branch_flag in ('Y','N')) THEN
206 px_organization_rec.branch_flag:= p_organization_obj.branch_flag;
207 END IF;
208 IF(p_organization_obj.oob_ind in ('Y','N')) THEN
209 px_organization_rec.oob_ind:= p_organization_obj.oob_ind;
210 END IF;
211 px_organization_rec.line_of_business:= p_organization_obj.line_of_business;
212 px_organization_rec.cong_dist_code:= p_organization_obj.cong_dist_code;
213 px_organization_rec.sic_code:= p_organization_obj.sic_code;
214 IF(p_organization_obj.import_ind in ('Y','N')) THEN
215 px_organization_rec.import_ind:= p_organization_obj.import_ind;
216 END IF;
217 IF(p_organization_obj.export_ind in ('Y','N')) THEN
218 px_organization_rec.export_ind:= p_organization_obj.export_ind;
219 END IF;
220 IF(p_organization_obj.labor_surplus_ind in ('Y','N')) THEN
221 px_organization_rec.labor_surplus_ind:= p_organization_obj.labor_surplus_ind;
222 END IF;
223 IF(p_organization_obj.debarment_ind in ('Y','N')) THEN
224 px_organization_rec.debarment_ind:= p_organization_obj.debarment_ind;
225 END IF;
226 IF(p_organization_obj.minority_owned_ind in ('Y','N')) THEN
227 px_organization_rec.minority_owned_ind:= p_organization_obj.minority_owned_ind;
228 END IF;
229 px_organization_rec.minority_owned_type:= p_organization_obj.minority_owned_type;
230 IF(p_organization_obj.woman_owned_ind in ('Y','N')) THEN
231 px_organization_rec.woman_owned_ind:= p_organization_obj.woman_owned_ind;
232 END IF;
233 IF(p_organization_obj.disadv_8a_ind in ('Y','N')) THEN
234 px_organization_rec.disadv_8a_ind:= p_organization_obj.disadv_8a_ind;
235 END IF;
236 IF(p_organization_obj.small_bus_ind in ('Y','N')) THEN
237 px_organization_rec.small_bus_ind:= p_organization_obj.small_bus_ind;
238 END IF;
239 px_organization_rec.rent_own_ind:= p_organization_obj.rent_own_ind;
240 px_organization_rec.debarments_count:= p_organization_obj.debarments_count;
241 px_organization_rec.debarments_date:= p_organization_obj.debarments_date;
242 px_organization_rec.failure_score:= p_organization_obj.failure_score;
243 px_organization_rec.failure_score_natnl_percentile:= p_organization_obj.failure_score_natnl_per;
244 px_organization_rec.failure_score_override_code:= p_organization_obj.failure_score_override_code;
245 px_organization_rec.failure_score_commentary:= p_organization_obj.failure_score_commentary;
246 px_organization_rec.global_failure_score:= p_organization_obj.global_failure_score;
247 px_organization_rec.db_rating:= p_organization_obj.db_rating;
248 px_organization_rec.credit_score:= p_organization_obj.credit_score;
249 px_organization_rec.credit_score_commentary:= p_organization_obj.credit_score_commentary;
250 px_organization_rec.paydex_score:= p_organization_obj.paydex_score;
251 px_organization_rec.paydex_three_months_ago:= p_organization_obj.paydex_three_months_ago;
252 px_organization_rec.paydex_norm:= p_organization_obj.paydex_norm;
253 px_organization_rec.best_time_contact_begin:= p_organization_obj.best_time_contact_begin;
254 px_organization_rec.best_time_contact_end:= p_organization_obj.best_time_contact_end;
255 px_organization_rec.organization_name_phonetic:= p_organization_obj.organization_name_phonetic;
256 px_organization_rec.tax_reference:= p_organization_obj.tax_reference;
257 IF(p_organization_obj.gsa_indicator_flag in ('Y','N')) THEN
258 px_organization_rec.gsa_indicator_flag:= p_organization_obj.gsa_indicator_flag;
259 END IF;
260 px_organization_rec.jgzz_fiscal_code:= p_organization_obj.jgzz_fiscal_code;
261 px_organization_rec.analysis_fy:= p_organization_obj.analysis_fy;
262 px_organization_rec.fiscal_yearend_month:= p_organization_obj.fiscal_yearend_month;
263 px_organization_rec.curr_fy_potential_revenue:= p_organization_obj.curr_fy_potential_revenue;
264 px_organization_rec.next_fy_potential_revenue:= p_organization_obj.next_fy_potential_revenue;
265 px_organization_rec.year_established:= p_organization_obj.year_established;
266 px_organization_rec.mission_statement:= p_organization_obj.mission_statement;
267 px_organization_rec.organization_type:= p_organization_obj.organization_type;
268 px_organization_rec.business_scope:= p_organization_obj.business_scope;
269 px_organization_rec.corporation_class:= p_organization_obj.corporation_class;
270 px_organization_rec.known_as:= p_organization_obj.known_as;
271 px_organization_rec.known_as2:= p_organization_obj.known_as2;
272 px_organization_rec.known_as3:= p_organization_obj.known_as3;
273 px_organization_rec.known_as4:= p_organization_obj.known_as4;
274 px_organization_rec.known_as5:= p_organization_obj.known_as5;
275 px_organization_rec.local_bus_iden_type:= p_organization_obj.local_bus_iden_type;
276 px_organization_rec.local_bus_identifier:= p_organization_obj.local_bus_identifier;
277 px_organization_rec.pref_functional_currency:= p_organization_obj.pref_functional_currency;
278 px_organization_rec.registration_type:= p_organization_obj.registration_type;
279 px_organization_rec.total_employees_text:= p_organization_obj.total_employees_text;
280 px_organization_rec.total_employees_ind:= p_organization_obj.total_employees_ind;
281 px_organization_rec.total_emp_est_ind:= p_organization_obj.total_emp_est_ind;
282 px_organization_rec.total_emp_min_ind:= p_organization_obj.total_emp_min_ind;
283 IF(p_organization_obj.parent_sub_ind in ('Y','N')) THEN
284 px_organization_rec.parent_sub_ind:= p_organization_obj.parent_sub_ind;
285 END IF;
286 px_organization_rec.incorp_year:= p_organization_obj.incorp_year;
287 px_organization_rec.sic_code_type:= p_organization_obj.sic_code_type;
288 IF(p_organization_obj.public_private_owner_flag in ('Y','N')) THEN
289 px_organization_rec.public_private_ownership_flag:= p_organization_obj.public_private_owner_flag;
290 END IF;
291 IF(p_organization_obj.internal_flag in ('Y','N')) THEN
292 px_organization_rec.internal_flag:= p_organization_obj.internal_flag;
293 END IF;
294 px_organization_rec.local_activity_code_type:= p_organization_obj.local_activity_code_type;
295 px_organization_rec.local_activity_code:= p_organization_obj.local_activity_code;
296 px_organization_rec.emp_at_primary_adr:= p_organization_obj.emp_at_primary_adr;
297 px_organization_rec.emp_at_primary_adr_text:= p_organization_obj.emp_at_primary_adr_text;
298 px_organization_rec.emp_at_primary_adr_est_ind:= p_organization_obj.emp_at_primary_adr_est_ind;
299 px_organization_rec.emp_at_primary_adr_min_ind:= p_organization_obj.emp_at_primary_adr_min_ind;
300 px_organization_rec.high_credit:= p_organization_obj.high_credit;
301 px_organization_rec.avg_high_credit:= p_organization_obj.avg_high_credit;
302 px_organization_rec.total_payments:= p_organization_obj.total_payments;
303 px_organization_rec.credit_score_class:= p_organization_obj.credit_score_class;
304 px_organization_rec.credit_score_natl_percentile:= p_organization_obj.credit_score_natl_percentile;
305 px_organization_rec.credit_score_incd_default:= p_organization_obj.credit_score_incd_default;
306 px_organization_rec.credit_score_age:= p_organization_obj.credit_score_age;
307 px_organization_rec.credit_score_date:= p_organization_obj.credit_score_date;
308 px_organization_rec.credit_score_commentary2:= p_organization_obj.credit_score_commentary2;
309 px_organization_rec.credit_score_commentary3:= p_organization_obj.credit_score_commentary3;
310 px_organization_rec.credit_score_commentary4:= p_organization_obj.credit_score_commentary4;
311 px_organization_rec.credit_score_commentary5:= p_organization_obj.credit_score_commentary5;
312 px_organization_rec.credit_score_commentary6:= p_organization_obj.credit_score_commentary6;
313 px_organization_rec.credit_score_commentary7:= p_organization_obj.credit_score_commentary7;
314 px_organization_rec.credit_score_commentary8:= p_organization_obj.credit_score_commentary8;
315 px_organization_rec.credit_score_commentary9:= p_organization_obj.credit_score_commentary9;
316 px_organization_rec.credit_score_commentary10:= p_organization_obj.credit_score_commentary10;
317 px_organization_rec.failure_score_class:= p_organization_obj.failure_score_class;
318 px_organization_rec.failure_score_incd_default:= p_organization_obj.failure_score_incd_default;
319 px_organization_rec.failure_score_age:= p_organization_obj.failure_score_age;
320 px_organization_rec.failure_score_date:= p_organization_obj.failure_score_date;
321 px_organization_rec.failure_score_commentary2:= p_organization_obj.failure_score_commentary2;
322 px_organization_rec.failure_score_commentary3:= p_organization_obj.failure_score_commentary3;
323 px_organization_rec.failure_score_commentary4:= p_organization_obj.failure_score_commentary4;
324 px_organization_rec.failure_score_commentary5:= p_organization_obj.failure_score_commentary5;
325 px_organization_rec.failure_score_commentary6:= p_organization_obj.failure_score_commentary6;
326 px_organization_rec.failure_score_commentary7:= p_organization_obj.failure_score_commentary7;
327 px_organization_rec.failure_score_commentary8:= p_organization_obj.failure_score_commentary8;
328 px_organization_rec.failure_score_commentary9:= p_organization_obj.failure_score_commentary9;
329 px_organization_rec.failure_score_commentary10:= p_organization_obj.failure_score_commentary10;
330 px_organization_rec.maximum_credit_recommendation:= p_organization_obj.maximum_credit_recommend;
331 px_organization_rec.maximum_credit_currency_code:= p_organization_obj.maximum_credit_currency_code;
332 px_organization_rec.displayed_duns_party_id:= p_organization_obj.displayed_duns_party_id;
333 IF(p_create_or_update = 'C') THEN
334 px_organization_rec.party_rec.orig_system:= p_organization_os;
335 px_organization_rec.party_rec.orig_system_reference:= p_organization_osr;
336 px_organization_rec.created_by_module:= HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE;
337 END IF;
338 px_organization_rec.do_not_confuse_with:= p_organization_obj.do_not_confuse_with;
339 px_organization_rec.actual_content_source:= p_organization_obj.actual_content_source;
340 px_organization_rec.party_rec.party_id:= p_organization_id;
341 px_organization_rec.party_rec.party_number:= p_organization_obj.party_number;
342 px_organization_rec.party_rec.validated_flag:= p_organization_obj.validated_flag;
343 px_organization_rec.party_rec.status:= p_organization_obj.status;
344 px_organization_rec.party_rec.category_code:= p_organization_obj.category_code;
345 px_organization_rec.party_rec.salutation:= p_organization_obj.salutation;
346 px_organization_rec.party_rec.attribute_category:= p_organization_obj.attribute_category;
347 px_organization_rec.party_rec.attribute1:= p_organization_obj.attribute1;
348 px_organization_rec.party_rec.attribute2:= p_organization_obj.attribute2;
349 px_organization_rec.party_rec.attribute3:= p_organization_obj.attribute3;
350 px_organization_rec.party_rec.attribute4:= p_organization_obj.attribute4;
351 px_organization_rec.party_rec.attribute5:= p_organization_obj.attribute5;
352 px_organization_rec.party_rec.attribute6:= p_organization_obj.attribute6;
353 px_organization_rec.party_rec.attribute7:= p_organization_obj.attribute7;
354 px_organization_rec.party_rec.attribute8:= p_organization_obj.attribute8;
355 px_organization_rec.party_rec.attribute9:= p_organization_obj.attribute9;
356 px_organization_rec.party_rec.attribute10:= p_organization_obj.attribute10;
357 px_organization_rec.party_rec.attribute11:= p_organization_obj.attribute11;
358 px_organization_rec.party_rec.attribute12:= p_organization_obj.attribute12;
359 px_organization_rec.party_rec.attribute13:= p_organization_obj.attribute13;
360 px_organization_rec.party_rec.attribute14:= p_organization_obj.attribute14;
361 px_organization_rec.party_rec.attribute15:= p_organization_obj.attribute15;
362 px_organization_rec.party_rec.attribute16:= p_organization_obj.attribute16;
363 px_organization_rec.party_rec.attribute17:= p_organization_obj.attribute17;
364 px_organization_rec.party_rec.attribute18:= p_organization_obj.attribute18;
365 px_organization_rec.party_rec.attribute19:= p_organization_obj.attribute19;
366 px_organization_rec.party_rec.attribute20:= p_organization_obj.attribute20;
367 px_organization_rec.party_rec.attribute21:= p_organization_obj.attribute21;
368 px_organization_rec.party_rec.attribute22:= p_organization_obj.attribute22;
369 px_organization_rec.party_rec.attribute23:= p_organization_obj.attribute23;
370 px_organization_rec.party_rec.attribute24:= p_organization_obj.attribute24;
371 END assign_organization_rec;
372
373 -- PRIVATE PROCEDURE assign_credit_rating_rec
374 --
375 -- DESCRIPTION
376 -- Assign attribute value from credit rating object to plsql record.
377 --
378 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
379 --
380 -- ARGUMENTS
381 -- IN:
382 -- p_credit_rating_obj Credit rating object.
383 -- p_party_id Party Id.
384 -- IN/OUT:
385 -- px_credit_rating_rec Credit rating plsql record.
386 --
387 -- NOTES
388 --
389 -- MODIFICATION HISTORY
390 --
391 -- 02-MAR-2005 Arnold Ng Created.
392
393 PROCEDURE assign_credit_rating_rec(
394 p_credit_rating_obj IN HZ_CREDIT_RATING_OBJ,
395 p_party_id IN NUMBER,
396 px_credit_rating_rec IN OUT NOCOPY HZ_PARTY_INFO_V2PUB.CREDIT_RATING_REC_TYPE
397 ) IS
398 BEGIN
399 px_credit_rating_rec.credit_rating_id:= p_credit_rating_obj.credit_rating_id;
400 px_credit_rating_rec.description:= p_credit_rating_obj.description;
401 px_credit_rating_rec.party_id:= p_party_id;
402 px_credit_rating_rec.rating:= p_credit_rating_obj.rating;
403 px_credit_rating_rec.rated_as_of_date:= p_credit_rating_obj.rated_as_of_date;
404 px_credit_rating_rec.rating_organization:= p_credit_rating_obj.rating_organization;
405 px_credit_rating_rec.comments:= p_credit_rating_obj.comments;
406 px_credit_rating_rec.det_history_ind:= p_credit_rating_obj.det_history_ind;
407 IF(p_credit_rating_obj.fincl_embt_ind in ('Y','N')) THEN
408 px_credit_rating_rec.fincl_embt_ind:= p_credit_rating_obj.fincl_embt_ind;
409 END IF;
410 px_credit_rating_rec.criminal_proceeding_ind:= p_credit_rating_obj.criminal_proceeding_ind;
411 px_credit_rating_rec.claims_ind:= p_credit_rating_obj.claims_ind;
412 px_credit_rating_rec.secured_flng_ind:= p_credit_rating_obj.secured_flng_ind;
413 px_credit_rating_rec.fincl_lgl_event_ind:= p_credit_rating_obj.fincl_lgl_event_ind;
414 px_credit_rating_rec.disaster_ind:= p_credit_rating_obj.disaster_ind;
415 px_credit_rating_rec.oprg_spec_evnt_ind:= p_credit_rating_obj.oprg_spec_evnt_ind;
416 px_credit_rating_rec.other_spec_evnt_ind:= p_credit_rating_obj.other_spec_evnt_ind;
417 IF(p_credit_rating_obj.status in ('A','I')) THEN
418 px_credit_rating_rec.status:= p_credit_rating_obj.status;
419 END IF;
420 px_credit_rating_rec.avg_high_credit:= p_credit_rating_obj.avg_high_credit;
421 px_credit_rating_rec.credit_score:= p_credit_rating_obj.credit_score;
422 px_credit_rating_rec.credit_score_age:= p_credit_rating_obj.credit_score_age;
423 px_credit_rating_rec.credit_score_class:= p_credit_rating_obj.credit_score_class;
424 px_credit_rating_rec.credit_score_commentary:= p_credit_rating_obj.credit_score_commentary;
425 px_credit_rating_rec.credit_score_commentary2:= p_credit_rating_obj.credit_score_commentary2;
426 px_credit_rating_rec.credit_score_commentary3:= p_credit_rating_obj.credit_score_commentary3;
427 px_credit_rating_rec.credit_score_commentary4:= p_credit_rating_obj.credit_score_commentary4;
428 px_credit_rating_rec.credit_score_commentary5:= p_credit_rating_obj.credit_score_commentary5;
429 px_credit_rating_rec.credit_score_commentary6:= p_credit_rating_obj.credit_score_commentary6;
430 px_credit_rating_rec.credit_score_commentary7:= p_credit_rating_obj.credit_score_commentary7;
431 px_credit_rating_rec.credit_score_commentary8:= p_credit_rating_obj.credit_score_commentary8;
432 px_credit_rating_rec.credit_score_commentary9:= p_credit_rating_obj.credit_score_commentary9;
433 px_credit_rating_rec.credit_score_commentary10:= p_credit_rating_obj.credit_score_commentary10;
434 px_credit_rating_rec.credit_score_date:= p_credit_rating_obj.credit_score_date;
435 px_credit_rating_rec.credit_score_incd_default:= p_credit_rating_obj.credit_score_incd_default;
436 px_credit_rating_rec.credit_score_natl_percentile:= p_credit_rating_obj.credit_score_natl_percentile;
437 px_credit_rating_rec.failure_score:= p_credit_rating_obj.failure_score;
438 px_credit_rating_rec.failure_score_age:= p_credit_rating_obj.failure_score_age;
439 px_credit_rating_rec.failure_score_class:= p_credit_rating_obj.failure_score_class;
440 px_credit_rating_rec.failure_score_commentary:= p_credit_rating_obj.failure_score_commentary;
441 px_credit_rating_rec.failure_score_commentary2:= p_credit_rating_obj.failure_score_commentary2;
442 px_credit_rating_rec.failure_score_commentary3:= p_credit_rating_obj.failure_score_commentary3;
443 px_credit_rating_rec.failure_score_commentary4:= p_credit_rating_obj.failure_score_commentary4;
444 px_credit_rating_rec.failure_score_commentary5:= p_credit_rating_obj.failure_score_commentary5;
445 px_credit_rating_rec.failure_score_commentary6:= p_credit_rating_obj.failure_score_commentary6;
446 px_credit_rating_rec.failure_score_commentary7:= p_credit_rating_obj.failure_score_commentary7;
447 px_credit_rating_rec.failure_score_commentary8:= p_credit_rating_obj.failure_score_commentary8;
448 px_credit_rating_rec.failure_score_commentary9:= p_credit_rating_obj.failure_score_commentary9;
449 px_credit_rating_rec.failure_score_commentary10:= p_credit_rating_obj.failure_score_commentary10;
450 px_credit_rating_rec.failure_score_date:= p_credit_rating_obj.failure_score_date;
451 px_credit_rating_rec.failure_score_incd_default:= p_credit_rating_obj.failure_score_incd_default;
452 px_credit_rating_rec.failure_score_natnl_percentile:= p_credit_rating_obj.failure_score_natnl_per;
453 px_credit_rating_rec.failure_score_override_code:= p_credit_rating_obj.failure_score_override_code;
454 px_credit_rating_rec.global_failure_score:= p_credit_rating_obj.global_failure_score;
455 IF(p_credit_rating_obj.debarment_ind in ('Y','N')) THEN
456 px_credit_rating_rec.debarment_ind:= p_credit_rating_obj.debarment_ind;
457 END IF;
458 px_credit_rating_rec.debarments_count:= p_credit_rating_obj.debarments_count;
459 px_credit_rating_rec.debarments_date:= p_credit_rating_obj.debarments_date;
460 px_credit_rating_rec.high_credit:= p_credit_rating_obj.high_credit;
461 px_credit_rating_rec.maximum_credit_currency_code:= p_credit_rating_obj.maximum_credit_currency_code;
462 px_credit_rating_rec.maximum_credit_rcmd:= p_credit_rating_obj.maximum_credit_rcmd;
463 px_credit_rating_rec.paydex_norm:= p_credit_rating_obj.paydex_norm;
464 px_credit_rating_rec.paydex_score:= p_credit_rating_obj.paydex_score;
465 px_credit_rating_rec.paydex_three_months_ago:= p_credit_rating_obj.paydex_three_months_ago;
466 px_credit_rating_rec.credit_score_override_code:= p_credit_rating_obj.credit_score_override_code;
467 px_credit_rating_rec.cr_scr_clas_expl:= p_credit_rating_obj.cr_scr_clas_expl;
468 px_credit_rating_rec.low_rng_delq_scr:= p_credit_rating_obj.low_rng_delq_scr;
469 px_credit_rating_rec.high_rng_delq_scr:= p_credit_rating_obj.high_rng_delq_scr;
470 px_credit_rating_rec.delq_pmt_rng_prcnt:= p_credit_rating_obj.delq_pmt_rng_prcnt;
471 px_credit_rating_rec.delq_pmt_pctg_for_all_firms:= p_credit_rating_obj.delq_pmt_pctg_for_all_firms;
472 px_credit_rating_rec.num_trade_experiences:= p_credit_rating_obj.num_trade_experiences;
473 px_credit_rating_rec.paydex_firm_days:= p_credit_rating_obj.paydex_firm_days;
474 px_credit_rating_rec.paydex_firm_comment:= p_credit_rating_obj.paydex_firm_comment;
475 px_credit_rating_rec.paydex_industry_days:= p_credit_rating_obj.paydex_industry_days;
476 px_credit_rating_rec.paydex_industry_comment:= p_credit_rating_obj.paydex_industry_comment;
477 px_credit_rating_rec.paydex_comment:= p_credit_rating_obj.paydex_comment;
478 IF(p_credit_rating_obj.suit_ind in ('Y','N')) THEN
479 px_credit_rating_rec.suit_ind:= p_credit_rating_obj.suit_ind;
480 END IF;
481 IF(p_credit_rating_obj.lien_ind in ('Y','N')) THEN
482 px_credit_rating_rec.lien_ind:= p_credit_rating_obj.lien_ind;
483 END IF;
484 IF(p_credit_rating_obj.judgement_ind in ('Y','N')) THEN
485 px_credit_rating_rec.judgement_ind:= p_credit_rating_obj.judgement_ind;
486 END IF;
487 px_credit_rating_rec.bankruptcy_ind:= p_credit_rating_obj.bankruptcy_ind;
488 IF(p_credit_rating_obj.no_trade_ind in ('Y','N')) THEN
489 px_credit_rating_rec.no_trade_ind:= p_credit_rating_obj.no_trade_ind;
490 END IF;
491 px_credit_rating_rec.prnt_hq_bkcy_ind:= p_credit_rating_obj.prnt_hq_bkcy_ind;
492 px_credit_rating_rec.num_prnt_bkcy_filing:= p_credit_rating_obj.num_prnt_bkcy_filing;
493 px_credit_rating_rec.prnt_bkcy_filg_type:= p_credit_rating_obj.prnt_bkcy_filg_type;
494 px_credit_rating_rec.prnt_bkcy_filg_chapter:= p_credit_rating_obj.prnt_bkcy_filg_chapter;
495 px_credit_rating_rec.prnt_bkcy_filg_date:= p_credit_rating_obj.prnt_bkcy_filg_date;
496 px_credit_rating_rec.num_prnt_bkcy_convs:= p_credit_rating_obj.num_prnt_bkcy_convs;
497 px_credit_rating_rec.prnt_bkcy_conv_date:= p_credit_rating_obj.prnt_bkcy_conv_date;
498 px_credit_rating_rec.prnt_bkcy_chapter_conv:= p_credit_rating_obj.prnt_bkcy_chapter_conv;
499 px_credit_rating_rec.slow_trade_expl:= p_credit_rating_obj.slow_trade_expl;
500 px_credit_rating_rec.negv_pmt_expl:= p_credit_rating_obj.negv_pmt_expl;
501 px_credit_rating_rec.pub_rec_expl:= p_credit_rating_obj.pub_rec_expl;
502 px_credit_rating_rec.business_discontinued:= p_credit_rating_obj.business_discontinued;
503 px_credit_rating_rec.spcl_event_comment:= p_credit_rating_obj.spcl_event_comment;
504 px_credit_rating_rec.num_spcl_event:= p_credit_rating_obj.num_spcl_event;
505 px_credit_rating_rec.spcl_event_update_date:= p_credit_rating_obj.spcl_event_update_date;
506 px_credit_rating_rec.spcl_evnt_txt:= p_credit_rating_obj.spcl_evnt_txt;
507 px_credit_rating_rec.actual_content_source:= p_credit_rating_obj.actual_content_source;
508 px_credit_rating_rec.created_by_module:= HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE;
509 END assign_credit_rating_rec;
510
511 -- PRIVATE PROCEDURE assign_financial_report_rec
512 --
513 -- DESCRIPTION
514 -- Assign attribute value from financial report object to plsql record.
515 --
516 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
517 --
518 -- ARGUMENTS
519 -- IN:
520 -- p_fin_report_obj Financial report object.
521 -- p_party_id Party Id.
522 -- IN/OUT:
523 -- px_fin_report_rec Financial report plsql record.
524 --
525 -- NOTES
526 --
527 -- MODIFICATION HISTORY
528 --
529 -- 02-MAR-2005 Arnold Ng Created.
530
531 PROCEDURE assign_financial_report_rec(
532 p_fin_report_obj IN HZ_FINANCIAL_BO,
533 p_party_id IN NUMBER,
534 px_fin_report_rec IN OUT NOCOPY HZ_ORGANIZATION_INFO_V2PUB.FINANCIAL_REPORT_REC_TYPE
535 ) IS
536 BEGIN
537 px_fin_report_rec.financial_report_id := p_fin_report_obj.financial_report_id;
538 px_fin_report_rec.party_id := p_party_id;
539 px_fin_report_rec.type_of_financial_report := p_fin_report_obj.type_of_financial_report;
540 px_fin_report_rec.document_reference := p_fin_report_obj.document_reference;
541 px_fin_report_rec.date_report_issued := p_fin_report_obj.date_report_issued;
542 px_fin_report_rec.issued_period := p_fin_report_obj.issued_period;
543 px_fin_report_rec.report_start_date := p_fin_report_obj.report_start_date;
544 px_fin_report_rec.report_end_date := p_fin_report_obj.report_end_date;
545 px_fin_report_rec.requiring_authority := p_fin_report_obj.requiring_authority;
546 IF(p_fin_report_obj.audit_ind in ('Y','N')) THEN
547 px_fin_report_rec.audit_ind := p_fin_report_obj.audit_ind;
548 END IF;
549 IF(p_fin_report_obj.consolidated_ind in ('Y','N')) THEN
550 px_fin_report_rec.consolidated_ind := p_fin_report_obj.consolidated_ind;
551 END IF;
552 IF(p_fin_report_obj.estimated_ind in ('Y','N')) THEN
553 px_fin_report_rec.estimated_ind := p_fin_report_obj.estimated_ind;
554 END IF;
555 IF(p_fin_report_obj.fiscal_ind in ('Y','N')) THEN
556 px_fin_report_rec.fiscal_ind := p_fin_report_obj.fiscal_ind;
557 END IF;
558 IF(p_fin_report_obj.final_ind in ('Y','N')) THEN
559 px_fin_report_rec.final_ind := p_fin_report_obj.final_ind;
560 END IF;
561 IF(p_fin_report_obj.forecast_ind in ('Y','N')) THEN
562 px_fin_report_rec.forecast_ind := p_fin_report_obj.forecast_ind;
563 END IF;
564 IF(p_fin_report_obj.opening_ind in ('Y','N')) THEN
565 px_fin_report_rec.opening_ind := p_fin_report_obj.opening_ind;
566 END IF;
567 IF(p_fin_report_obj.proforma_ind in ('Y','N')) THEN
568 px_fin_report_rec.proforma_ind := p_fin_report_obj.proforma_ind;
569 END IF;
570 IF(p_fin_report_obj.qualified_ind in ('Y','N')) THEN
571 px_fin_report_rec.qualified_ind := p_fin_report_obj.qualified_ind;
572 END IF;
573 IF(p_fin_report_obj.restated_ind in ('Y','N')) THEN
574 px_fin_report_rec.restated_ind := p_fin_report_obj.restated_ind;
575 END IF;
576 IF(p_fin_report_obj.signed_by_principals_ind in ('Y','N')) THEN
577 px_fin_report_rec.signed_by_principals_ind := p_fin_report_obj.signed_by_principals_ind;
578 END IF;
579 IF(p_fin_report_obj.trial_balance_ind in ('Y','N')) THEN
580 px_fin_report_rec.trial_balance_ind := p_fin_report_obj.trial_balance_ind;
581 END IF;
582 IF(p_fin_report_obj.unbalanced_ind in ('Y','N')) THEN
583 px_fin_report_rec.unbalanced_ind := p_fin_report_obj.unbalanced_ind;
584 END IF;
585 IF(p_fin_report_obj.status in ('A','I')) THEN
586 px_fin_report_rec.status := p_fin_report_obj.status;
587 END IF;
588 px_fin_report_rec.created_by_module := HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE;
589 END assign_financial_report_rec;
590
591 -- PRIVATE PROCEDURE assign_financial_number_rec
592 --
593 -- DESCRIPTION
594 -- Assign attribute value from financial number object to plsql record.
595 --
596 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
597 --
598 -- ARGUMENTS
599 -- IN:
600 -- p_fin_number_obj Financial number object.
601 -- p_fin_report_id Financial report Id.
602 -- IN/OUT:
603 -- px_fin_number_rec Financial number plsql record.
604 --
605 -- NOTES
606 --
607 -- MODIFICATION HISTORY
608 --
609 -- 02-MAR-2005 Arnold Ng Created.
610
611 PROCEDURE assign_financial_number_rec(
612 p_fin_number_obj IN HZ_FINANCIAL_NUMBER_OBJ,
613 p_fin_report_id IN NUMBER,
614 px_fin_number_rec IN OUT NOCOPY HZ_ORGANIZATION_INFO_V2PUB.FINANCIAL_NUMBER_REC_TYPE
615 ) IS
616 BEGIN
617 px_fin_number_rec.financial_number_id := p_fin_number_obj.financial_number_id;
618 px_fin_number_rec.financial_report_id := p_fin_report_id;
619 px_fin_number_rec.financial_number := p_fin_number_obj.financial_number;
620 px_fin_number_rec.financial_number_name := p_fin_number_obj.financial_number_name;
621 px_fin_number_rec.financial_units_applied := p_fin_number_obj.financial_units_applied;
622 px_fin_number_rec.financial_number_currency := p_fin_number_obj.financial_number_currency;
623 px_fin_number_rec.projected_actual_flag := p_fin_number_obj.projected_actual_flag;
624 IF(p_fin_number_obj.status in ('A','I')) THEN
625 px_fin_number_rec.status := p_fin_number_obj.status;
626 END IF;
627 px_fin_number_rec.created_by_module := HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE;
628 END assign_financial_number_rec;
629
630 -- PRIVATE PROCEDURE create_credit_ratings
631 --
632 -- DESCRIPTION
633 -- Create credit ratings.
634 --
635 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
636 --
637 -- ARGUMENTS
638 -- IN:
639 -- p_credit_rating_objs List of credit rating objects.
640 -- p_organization_id Organization Id.
641 -- OUT:
642 -- x_return_status Return status after the call. The status can
643 -- be fnd_api.g_ret_sts_success (success),
644 -- fnd_api.g_ret_sts_error (error),
645 -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
646 -- x_msg_count Number of messages in message stack.
647 -- x_msg_data Message text if x_msg_count is 1.
648 --
649 -- NOTES
650 --
651 -- MODIFICATION HISTORY
652 --
653 -- 02-MAR-2005 Arnold Ng Created.
654
655 PROCEDURE create_credit_ratings(
656 p_credit_rating_objs IN OUT NOCOPY HZ_CREDIT_RATING_OBJ_TBL,
657 p_organization_id IN NUMBER,
658 x_return_status OUT NOCOPY VARCHAR2,
659 x_msg_count OUT NOCOPY NUMBER,
660 x_msg_data OUT NOCOPY VARCHAR2
661 ) IS
662 l_debug_prefix VARCHAR2(30);
663 l_credit_rating_rec HZ_PARTY_INFO_V2PUB.CREDIT_RATING_REC_TYPE;
664 l_dummy_id NUMBER;
665 BEGIN
666 -- Standard start of API savepoint
667 SAVEPOINT create_credit_ratings_pub;
668
669 -- initialize API return status to success.
670 x_return_status := FND_API.G_RET_STS_SUCCESS;
671
672 -- Debug info.
673 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
674 hz_utility_v2pub.debug(p_message=>'create_credit_ratings(+)',
675 p_prefix=>l_debug_prefix,
676 p_msg_level=>fnd_log.level_procedure);
677 END IF;
678
679 --------------------------------
680 -- Assign credit rating record
681 --------------------------------
682 FOR i IN 1..p_credit_rating_objs.COUNT LOOP
683 assign_credit_rating_rec(
684 p_credit_rating_obj => p_credit_rating_objs(i),
685 p_party_id => p_organization_id,
686 px_credit_rating_rec => l_credit_rating_rec
687 );
688
689 HZ_PARTY_INFO_V2PUB.create_credit_rating(
690 p_credit_rating_rec => l_credit_rating_rec,
691 x_credit_rating_id => l_dummy_id,
692 x_return_status => x_return_status,
693 x_msg_count => x_msg_count,
694 x_msg_data => x_msg_data
695 );
696
697 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
698 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
699 hz_utility_v2pub.debug(p_message=>'Error occurred at hz_organization_bo_pub.create_credit_ratings, organization id: '||p_organization_id,
700 p_prefix=>l_debug_prefix,
701 p_msg_level=>fnd_log.level_procedure);
702 END IF;
703 RAISE FND_API.G_EXC_ERROR;
704 END IF;
705
706 -- assign credit_rating_id
707 p_credit_rating_objs(i).credit_rating_id := l_dummy_id;
708 END LOOP;
709
710 -- Debug info.
711 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
712 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
713 p_msg_data=>x_msg_data,
714 p_msg_type=>'WARNING',
715 p_msg_level=>fnd_log.level_exception);
716 END IF;
717 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
718 hz_utility_v2pub.debug(p_message=>'create_credit_ratings(-)',
719 p_prefix=>l_debug_prefix,
720 p_msg_level=>fnd_log.level_procedure);
721 END IF;
722 EXCEPTION
723 WHEN fnd_api.g_exc_error THEN
724 ROLLBACK TO create_credit_ratings_pub;
725 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_ENTITY_ERROR');
726 FND_MESSAGE.SET_TOKEN('ENTITY', 'HZ_CREDIT_RATINGS');
727 FND_MSG_PUB.ADD;
728
729 x_return_status := fnd_api.g_ret_sts_error;
730
731 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
732 p_count => x_msg_count,
733 p_data => x_msg_data);
734
735 -- Debug info.
736 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
737 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
738 p_msg_data=>x_msg_data,
739 p_msg_type=>'ERROR',
740 p_msg_level=>fnd_log.level_error);
741 END IF;
742 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
743 hz_utility_v2pub.debug(p_message=>'create_credit_ratings(-)',
744 p_prefix=>l_debug_prefix,
745 p_msg_level=>fnd_log.level_procedure);
746 END IF;
747 WHEN fnd_api.g_exc_unexpected_error THEN
748 ROLLBACK TO create_credit_ratings_pub;
749 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_ENTITY_ERROR');
750 FND_MESSAGE.SET_TOKEN('ENTITY', 'HZ_CREDIT_RATINGS');
751 FND_MSG_PUB.ADD;
752
753 x_return_status := fnd_api.g_ret_sts_unexp_error;
754
755 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
756 p_count => x_msg_count,
757 p_data => x_msg_data);
758
759 -- Debug info.
760 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
761 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
762 p_msg_data=>x_msg_data,
763 p_msg_type=>'UNEXPECTED ERROR',
764 p_msg_level=>fnd_log.level_error);
765 END IF;
766 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
767 hz_utility_v2pub.debug(p_message=>'create_credit_ratings(-)',
768 p_prefix=>l_debug_prefix,
769 p_msg_level=>fnd_log.level_procedure);
770 END IF;
771 WHEN OTHERS THEN
772 ROLLBACK TO create_credit_ratings_pub;
773 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_ENTITY_ERROR');
774 FND_MESSAGE.SET_TOKEN('ENTITY', 'HZ_CREDIT_RATINGS');
775 FND_MSG_PUB.ADD;
776
777 x_return_status := fnd_api.g_ret_sts_unexp_error;
778
779 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
780 fnd_message.set_token('ERROR' ,SQLERRM);
781 fnd_msg_pub.add;
782
783 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
784 p_count => x_msg_count,
785 p_data => x_msg_data);
786
787 -- Debug info.
788 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
789 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
790 p_msg_data=>x_msg_data,
791 p_msg_type=>'SQL ERROR',
792 p_msg_level=>fnd_log.level_error);
793 END IF;
794 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
795 hz_utility_v2pub.debug(p_message=>'create_credit_ratings(-)',
796 p_prefix=>l_debug_prefix,
797 p_msg_level=>fnd_log.level_procedure);
798 END IF;
799 END create_credit_ratings;
800
801 -- PRIVATE PROCEDURE save_credit_ratings
802 --
803 -- DESCRIPTION
804 -- Create or update credit ratings.
805 --
806 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
807 --
808 -- ARGUMENTS
809 -- IN:
810 -- p_credit_rating_objs List of credit rating objects.
811 -- p_organization_id Organization Id.
812 -- OUT:
813 -- x_return_status Return status after the call. The status can
814 -- be fnd_api.g_ret_sts_success (success),
815 -- fnd_api.g_ret_sts_error (error),
816 -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
817 -- x_msg_count Number of messages in message stack.
818 -- x_msg_data Message text if x_msg_count is 1.
819 --
820 -- NOTES
821 --
822 -- MODIFICATION HISTORY
823 --
824 -- 02-MAR-2005 Arnold Ng Created.
825
826 PROCEDURE save_credit_ratings(
827 p_credit_rating_objs IN OUT NOCOPY HZ_CREDIT_RATING_OBJ_TBL,
828 p_organization_id IN NUMBER,
829 x_return_status OUT NOCOPY VARCHAR2,
830 x_msg_count OUT NOCOPY NUMBER,
831 x_msg_data OUT NOCOPY VARCHAR2
832 ) IS
833 l_debug_prefix VARCHAR2(30);
834 l_credit_rating_rec HZ_PARTY_INFO_V2PUB.CREDIT_RATING_REC_TYPE;
835 l_dummy_id NUMBER;
836 l_ovn NUMBER := NULL;
837 BEGIN
838 -- Standard start of API savepoint
839 SAVEPOINT save_credit_ratings_pub;
840
841 -- initialize API return status to success.
842 x_return_status := FND_API.G_RET_STS_SUCCESS;
843
844 -- Debug info.
845 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
846 hz_utility_v2pub.debug(p_message=>'save_credit_ratings(+)',
847 p_prefix=>l_debug_prefix,
848 p_msg_level=>fnd_log.level_procedure);
849 END IF;
850 --------------------------------
851 -- Create/Update credit rating
852 --------------------------------
853 FOR i IN 1..p_credit_rating_objs.COUNT LOOP
854 assign_credit_rating_rec(
855 p_credit_rating_obj => p_credit_rating_objs(i),
856 p_party_id => p_organization_id,
857 px_credit_rating_rec => l_credit_rating_rec
858 );
859
860 hz_registry_validate_bo_pvt.check_credit_rating_op(
861 p_party_id => p_organization_id,
862 px_credit_rating_id => l_credit_rating_rec.credit_rating_id,
863 p_rating_organization => l_credit_rating_rec.rating_organization,
864 p_rated_as_of_date => l_credit_rating_rec.rated_as_of_date,
865 x_object_version_number => l_ovn
866 );
867
868 IF(l_ovn = -1) THEN
869 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
870 hz_utility_v2pub.debug(p_message=>'Save Credit Ratings - Error occurred at hz_organization_bo_pub.check_credit_rating_op, organization id: '||p_organization_id||' '||' ovn:'||l_ovn,
871 p_prefix=>l_debug_prefix,
872 p_msg_level=>fnd_log.level_procedure);
873 END IF;
874 FND_MESSAGE.SET_NAME('AR', 'HZ_API_INVALID_ID');
875 FND_MSG_PUB.ADD;
876 RAISE FND_API.G_EXC_ERROR;
877 END IF;
878
879 IF(l_ovn IS NULL) THEN
880 HZ_PARTY_INFO_V2PUB.create_credit_rating(
881 p_credit_rating_rec => l_credit_rating_rec,
882 x_credit_rating_id => l_dummy_id,
883 x_return_status => x_return_status,
884 x_msg_count => x_msg_count,
885 x_msg_data => x_msg_data
886 );
887
888 -- assign credit_rating_id
889 p_credit_rating_objs(i).credit_rating_id := l_dummy_id;
890 ELSE
891 -- clean up created_by_module for update
892 l_credit_rating_rec.created_by_module := NULL;
893 HZ_PARTY_INFO_V2PUB.update_credit_rating(
894 p_credit_rating_rec => l_credit_rating_rec,
895 p_object_version_number => l_ovn,
896 x_return_status => x_return_status,
897 x_msg_count => x_msg_count,
898 x_msg_data => x_msg_data
899 );
900
901 -- assign credit_rating_id
902 p_credit_rating_objs(i).credit_rating_id := l_credit_rating_rec.credit_rating_id;
903 END IF;
904
905 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
906 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
907 hz_utility_v2pub.debug(p_message=>'Error occurred at hz_organization_bo_pub.create_credit_ratings, organization id: '||p_organization_id,
908 p_prefix=>l_debug_prefix,
909 p_msg_level=>fnd_log.level_procedure);
910 END IF;
911 RAISE FND_API.G_EXC_ERROR;
912 END IF;
913 END LOOP;
914
915 -- Debug info.
916 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
917 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
918 p_msg_data=>x_msg_data,
919 p_msg_type=>'WARNING',
920 p_msg_level=>fnd_log.level_exception);
921 END IF;
922 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
923 hz_utility_v2pub.debug(p_message=>'save_credit_rating(-)',
924 p_prefix=>l_debug_prefix,
925 p_msg_level=>fnd_log.level_procedure);
926 END IF;
927 EXCEPTION
928 WHEN fnd_api.g_exc_error THEN
929 ROLLBACK TO save_credit_ratings_pub;
930 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_ENTITY_ERROR');
931 FND_MESSAGE.SET_TOKEN('ENTITY', 'HZ_CREDIT_RATINGS');
932 FND_MSG_PUB.ADD;
933
934 x_return_status := fnd_api.g_ret_sts_error;
935
936 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
937 p_count => x_msg_count,
938 p_data => x_msg_data);
939
940 -- Debug info.
941 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
942 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
943 p_msg_data=>x_msg_data,
944 p_msg_type=>'ERROR',
945 p_msg_level=>fnd_log.level_error);
946 END IF;
947 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
948 hz_utility_v2pub.debug(p_message=>'save_credit_ratings(-)',
949 p_prefix=>l_debug_prefix,
950 p_msg_level=>fnd_log.level_procedure);
951 END IF;
952 WHEN fnd_api.g_exc_unexpected_error THEN
953 ROLLBACK TO save_credit_ratings_pub;
954 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_ENTITY_ERROR');
955 FND_MESSAGE.SET_TOKEN('ENTITY', 'HZ_CREDIT_RATINGS');
956 FND_MSG_PUB.ADD;
957
958 x_return_status := fnd_api.g_ret_sts_unexp_error;
959
960 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
961 p_count => x_msg_count,
962 p_data => x_msg_data);
963
964 -- Debug info.
965 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
966 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
967 p_msg_data=>x_msg_data,
968 p_msg_type=>'UNEXPECTED ERROR',
969 p_msg_level=>fnd_log.level_error);
970 END IF;
971 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
972 hz_utility_v2pub.debug(p_message=>'save_credit_ratings(-)',
973 p_prefix=>l_debug_prefix,
974 p_msg_level=>fnd_log.level_procedure);
975 END IF;
976 WHEN OTHERS THEN
977 ROLLBACK TO save_credit_ratings_pub;
978 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_ENTITY_ERROR');
979 FND_MESSAGE.SET_TOKEN('ENTITY', 'HZ_CREDIT_RATINGS');
980 FND_MSG_PUB.ADD;
981
982 x_return_status := fnd_api.g_ret_sts_unexp_error;
983
984 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
985 fnd_message.set_token('ERROR' ,SQLERRM);
986 fnd_msg_pub.add;
987
988 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
989 p_count => x_msg_count,
990 p_data => x_msg_data);
991
992 -- Debug info.
993 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
994 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
995 p_msg_data=>x_msg_data,
996 p_msg_type=>'SQL ERROR',
997 p_msg_level=>fnd_log.level_error);
998 END IF;
999 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1000 hz_utility_v2pub.debug(p_message=>'save_credit_ratings(-)',
1001 p_prefix=>l_debug_prefix,
1002 p_msg_level=>fnd_log.level_procedure);
1003 END IF;
1004 END save_credit_ratings;
1005
1006 -- PRIVATE PROCEDURE create_financial_reports
1007 --
1008 -- DESCRIPTION
1009 -- Create financial reports.
1010 PROCEDURE create_financial_reports(
1011 p_fin_objs IN OUT NOCOPY HZ_FINANCIAL_BO_TBL,
1012 p_organization_id IN NUMBER,
1013 x_return_status OUT NOCOPY VARCHAR2,
1014 x_msg_count OUT NOCOPY NUMBER,
1015 x_msg_data OUT NOCOPY VARCHAR2
1016 ) IS
1017 l_debug_prefix VARCHAR2(30);
1018 l_fin_report_rec HZ_ORGANIZATION_INFO_V2PUB.FINANCIAL_REPORT_REC_TYPE;
1019 l_fin_number_rec HZ_ORGANIZATION_INFO_V2PUB.FINANCIAL_NUMBER_REC_TYPE;
1020 l_dummy_id NUMBER;
1021 BEGIN
1022 -- Standard start of API savepoint
1023 --SAVEPOINT create_credit_ratings_pub; --Bug 6619304
1024 SAVEPOINT create_financial_reports_pub; --Bug 6619304
1025
1026 -- initialize API return status to success.
1027 x_return_status := FND_API.G_RET_STS_SUCCESS;
1028
1029 -- Debug info.
1030 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1031 hz_utility_v2pub.debug(p_message=>'create_financial_reports(+)',
1032 p_prefix=>l_debug_prefix,
1033 p_msg_level=>fnd_log.level_procedure);
1034 END IF;
1035
1036 ---------------------------------
1037 -- Assign financial report record
1038 ---------------------------------
1039 FOR i IN 1..p_fin_objs.COUNT LOOP
1040 assign_financial_report_rec(
1041 p_fin_report_obj => p_fin_objs(i),
1042 p_party_id => p_organization_id,
1043 px_fin_report_rec => l_fin_report_rec
1044 );
1045
1046 HZ_ORGANIZATION_INFO_V2PUB.create_financial_report(
1047 p_financial_report_rec => l_fin_report_rec,
1048 x_financial_report_id => l_dummy_id,
1049 x_return_status => x_return_status,
1050 x_msg_count => x_msg_count,
1051 x_msg_data => x_msg_data
1052 );
1053
1054 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1055 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1056 hz_utility_v2pub.debug(p_message=>'Error occurred at hz_organization_bo_pub.create_financial_reports, org id: '||p_organization_id,
1057 p_prefix=>l_debug_prefix,
1058 p_msg_level=>fnd_log.level_procedure);
1059 END IF;
1060 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_STRUCT_ERROR');
1061 FND_MESSAGE.SET_TOKEN('STRUCTURE', 'HZ_FINANCIAL_REPORTS');
1062 FND_MSG_PUB.ADD;
1063 RAISE FND_API.G_EXC_ERROR;
1064 ELSE
1065 -- assign financial_number_id
1066 p_fin_objs(i).financial_report_id := l_dummy_id;
1067
1068 -- Call financial number v2api if financial report record is created successfully
1069 -------------------------------------------------
1070 -- Assign financial number of financial report record
1071 -------------------------------------------------
1072 IF((p_fin_objs(i).financial_number_objs IS NOT NULL) AND --Bug 6619304
1073 (p_fin_objs(i).financial_number_objs.COUNT > 0)) THEN --Bug 6619304
1074 FOR j IN 1..p_fin_objs(i).financial_number_objs.COUNT LOOP
1075 assign_financial_number_rec(
1076 p_fin_number_obj => p_fin_objs(i).financial_number_objs(j),
1077 p_fin_report_id => l_dummy_id,
1078 px_fin_number_rec => l_fin_number_rec
1079 );
1080
1081 HZ_ORGANIZATION_INFO_V2PUB.create_financial_number(
1082 p_financial_number_rec => l_fin_number_rec,
1083 x_financial_number_id => l_dummy_id,
1084 x_return_status => x_return_status,
1085 x_msg_count => x_msg_count,
1086 x_msg_data => x_msg_data
1087 );
1088
1089 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1090 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1091 hz_utility_v2pub.debug(p_message=>'Error occurred at hz_organization_bo_pub.create_financial_reports, fin_number_id: '||l_dummy_id,
1092 p_prefix=>l_debug_prefix,
1093 p_msg_level=>fnd_log.level_procedure);
1094 END IF;
1095 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_ENTITY_ERROR');
1096 FND_MESSAGE.SET_TOKEN('ENTITY', 'HZ_FINANCIAL_NUMBERS');
1097 FND_MSG_PUB.ADD;
1098 RAISE FND_API.G_EXC_ERROR;
1099 END IF;
1100
1101 -- assign financial_number_id
1102 p_fin_objs(i).financial_number_objs(j).financial_number_id := l_dummy_id;
1103 END LOOP;
1104 END IF; --Bug 6619304
1105 END IF;
1106 END LOOP;
1107
1108 -- Debug info.
1109 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
1110 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1111 p_msg_data=>x_msg_data,
1112 p_msg_type=>'WARNING',
1113 p_msg_level=>fnd_log.level_exception);
1114 END IF;
1115 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1116 hz_utility_v2pub.debug(p_message=>'create_financial_reports(-)',
1117 p_prefix=>l_debug_prefix,
1118 p_msg_level=>fnd_log.level_procedure);
1119 END IF;
1120 EXCEPTION
1121 WHEN fnd_api.g_exc_error THEN
1122 ROLLBACK TO create_financial_reports_pub;
1123 x_return_status := fnd_api.g_ret_sts_error;
1124
1125 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1126 p_count => x_msg_count,
1127 p_data => x_msg_data);
1128
1129 -- Debug info.
1130 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1131 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1132 p_msg_data=>x_msg_data,
1133 p_msg_type=>'ERROR',
1134 p_msg_level=>fnd_log.level_error);
1135 END IF;
1136 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1137 hz_utility_v2pub.debug(p_message=>'create_financial_reports(-)',
1138 p_prefix=>l_debug_prefix,
1139 p_msg_level=>fnd_log.level_procedure);
1140 END IF;
1141 WHEN fnd_api.g_exc_unexpected_error THEN
1142 ROLLBACK TO create_financial_reports_pub;
1143 x_return_status := fnd_api.g_ret_sts_unexp_error;
1144
1145 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1146 p_count => x_msg_count,
1147 p_data => x_msg_data);
1148
1149 -- Debug info.
1150 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1151 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1152 p_msg_data=>x_msg_data,
1153 p_msg_type=>'UNEXPECTED ERROR',
1154 p_msg_level=>fnd_log.level_error);
1155 END IF;
1156 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1157 hz_utility_v2pub.debug(p_message=>'create_financial_reports(-)',
1158 p_prefix=>l_debug_prefix,
1159 p_msg_level=>fnd_log.level_procedure);
1160 END IF;
1161 WHEN OTHERS THEN
1162 ROLLBACK TO create_financial_reports_pub;
1163 x_return_status := fnd_api.g_ret_sts_unexp_error;
1164
1165 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
1166 fnd_message.set_token('ERROR' ,SQLERRM);
1167 fnd_msg_pub.add;
1168
1169 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1170 p_count => x_msg_count,
1171 p_data => x_msg_data);
1172
1173 -- Debug info.
1174 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1175 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1176 p_msg_data=>x_msg_data,
1177 p_msg_type=>'SQL ERROR',
1178 p_msg_level=>fnd_log.level_error);
1179 END IF;
1180 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1181 hz_utility_v2pub.debug(p_message=>'create_financial_reports(-)',
1182 p_prefix=>l_debug_prefix,
1183 p_msg_level=>fnd_log.level_procedure);
1184 END IF;
1185 END create_financial_reports;
1186
1187 -- PRIVATE PROCEDURE save_financial_reports
1188 --
1189 -- DESCRIPTION
1190 -- Create or update financial reports.
1191 PROCEDURE save_financial_reports(
1192 p_fin_objs IN OUT NOCOPY HZ_FINANCIAL_BO_TBL,
1193 p_organization_id IN NUMBER,
1194 x_return_status OUT NOCOPY VARCHAR2,
1195 x_msg_count OUT NOCOPY NUMBER,
1196 x_msg_data OUT NOCOPY VARCHAR2
1197 ) IS
1198 l_debug_prefix VARCHAR2(30);
1199 l_fin_report_rec HZ_ORGANIZATION_INFO_V2PUB.FINANCIAL_REPORT_REC_TYPE;
1200 l_fin_number_rec HZ_ORGANIZATION_INFO_V2PUB.FINANCIAL_NUMBER_REC_TYPE;
1201 l_dummy_id NUMBER;
1202 l_ovn NUMBER := NULL;
1203 BEGIN
1204 -- Standard start of API savepoint
1205 --SAVEPOINT save_credit_ratings_pub; --Bug 6619304
1206 SAVEPOINT save_financial_reports_pub; --Bug 6619304
1207
1208 -- initialize API return status to success.
1209 x_return_status := FND_API.G_RET_STS_SUCCESS;
1210
1211 -- Debug info.
1212 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1213 hz_utility_v2pub.debug(p_message=>'save_financial_reports(+)',
1214 p_prefix=>l_debug_prefix,
1215 p_msg_level=>fnd_log.level_procedure);
1216 END IF;
1217
1218 -----------------------------------
1219 -- Create/Update financial reports
1220 -----------------------------------
1221 FOR i IN 1..p_fin_objs.COUNT LOOP
1222 assign_financial_report_rec(
1223 p_fin_report_obj => p_fin_objs(i),
1224 p_party_id => p_organization_id,
1225 px_fin_report_rec => l_fin_report_rec
1226 );
1227
1228 hz_registry_validate_bo_pvt.check_fin_report_op(
1229 p_party_id => p_organization_id,
1230 px_fin_report_id => l_fin_report_rec.financial_report_id,
1231 p_type_of_financial_report => l_fin_report_rec.type_of_financial_report,
1232 p_document_reference => l_fin_report_rec.document_reference,
1233 p_date_report_issued => l_fin_report_rec.date_report_issued,
1234 p_issued_period => l_fin_report_rec.issued_period,
1235 x_object_version_number => l_ovn
1236 );
1237
1238 IF(l_ovn = -1) THEN
1239 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1240 hz_utility_v2pub.debug(p_message=>'Save Financial Report - Error occurred at hz_organization_bo_pub.check_fin_report_op, organization id: '||p_organization_id||' '||' ovn:'||l_ovn,
1241 p_prefix=>l_debug_prefix,
1242 p_msg_level=>fnd_log.level_procedure);
1243 END IF;
1244 FND_MESSAGE.SET_NAME('AR', 'HZ_API_INVALID_ID');
1245 FND_MSG_PUB.ADD;
1246 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_STRUCT_ERROR');
1247 FND_MESSAGE.SET_TOKEN('STRUCTURE', 'HZ_FINANCIAL_REPORTS');
1248 FND_MSG_PUB.ADD;
1249 RAISE FND_API.G_EXC_ERROR;
1250 END IF;
1251
1252 IF(l_ovn IS NULL) THEN
1253 HZ_ORGANIZATION_INFO_V2PUB.create_financial_report(
1254 p_financial_report_rec => l_fin_report_rec,
1255 x_financial_report_id => l_dummy_id,
1256 x_return_status => x_return_status,
1257 x_msg_count => x_msg_count,
1258 x_msg_data => x_msg_data
1259 );
1260
1261 -- assign financial_report_id
1262 p_fin_objs(i).financial_report_id := l_dummy_id;
1263 ELSE
1264 -- clean up created_by_module for update
1265 l_fin_report_rec.created_by_module := NULL;
1266 HZ_ORGANIZATION_INFO_V2PUB.update_financial_report(
1267 p_financial_report_rec => l_fin_report_rec,
1268 p_object_version_number => l_ovn,
1269 x_return_status => x_return_status,
1270 x_msg_count => x_msg_count,
1271 x_msg_data => x_msg_data
1272 );
1273 l_dummy_id := l_fin_report_rec.financial_report_id;
1274
1275 -- assign financial_report_id
1276 p_fin_objs(i).financial_report_id := l_dummy_id;
1277 END IF;
1278
1279 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1280 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1281 hz_utility_v2pub.debug(p_message=>'Error occurred at hz_organization_bo_pub.save_financial_reports, org id: '||p_organization_id,
1282 p_prefix=>l_debug_prefix,
1283 p_msg_level=>fnd_log.level_procedure);
1284 END IF;
1285 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_STRUCT_ERROR');
1286 FND_MESSAGE.SET_TOKEN('STRUCTURE', 'HZ_FINANCIAL_REPORTS');
1287 FND_MSG_PUB.ADD;
1288 RAISE FND_API.G_EXC_ERROR;
1289 ELSE
1290 ---------------------------------
1291 -- Create/Update financial number
1292 ---------------------------------
1293 IF((p_fin_objs(i).financial_number_objs IS NOT NULL) AND --Bug 6619304
1294 (p_fin_objs(i).financial_number_objs.COUNT > 0)) THEN --Bug 6619304
1295 FOR j IN 1..p_fin_objs(i).financial_number_objs.COUNT LOOP
1296 assign_financial_number_rec(
1297 p_fin_number_obj => p_fin_objs(i).financial_number_objs(j),
1298 p_fin_report_id => l_dummy_id,
1299 px_fin_number_rec => l_fin_number_rec
1300 );
1301
1302 hz_registry_validate_bo_pvt.check_fin_number_op(
1303 p_fin_report_id => l_dummy_id,
1304 px_fin_number_id => l_fin_number_rec.financial_number_id,
1305 p_financial_number_name => l_fin_number_rec.financial_number_name,
1306 x_object_version_number => l_ovn
1307 );
1308
1309 IF(l_ovn = -1) THEN
1310 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1311 hz_utility_v2pub.debug(p_message=>'Save Financial Number - Error occurred at hz_organization_bo_pub.check_fin_number_op, organization id: '||p_organization_id||' '||' ovn:'||l_ovn,
1312 p_prefix=>l_debug_prefix,
1313 p_msg_level=>fnd_log.level_procedure);
1314 END IF;
1315 FND_MESSAGE.SET_NAME('AR', 'HZ_API_INVALID_ID');
1316 FND_MSG_PUB.ADD;
1317 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_ENTITY_ERROR');
1318 FND_MESSAGE.SET_TOKEN('ENTITY', 'HZ_FINANCIAL_NUMBERS');
1319 FND_MSG_PUB.ADD;
1320 RAISE FND_API.G_EXC_ERROR;
1321 END IF;
1322
1323 IF(l_ovn IS NULL) THEN
1324 HZ_ORGANIZATION_INFO_V2PUB.create_financial_number(
1325 p_financial_number_rec => l_fin_number_rec,
1326 x_financial_number_id => l_dummy_id,
1327 x_return_status => x_return_status,
1328 x_msg_count => x_msg_count,
1329 x_msg_data => x_msg_data
1330 );
1331
1332 -- assign financial_number_id
1333 p_fin_objs(i).financial_number_objs(j).financial_number_id := l_dummy_id;
1334 ELSE
1335 -- clean up created_by_module for update
1336 l_fin_number_rec.created_by_module := NULL;
1337 HZ_ORGANIZATION_INFO_V2PUB.update_financial_number(
1338 p_financial_number_rec => l_fin_number_rec,
1339 p_object_version_number => l_ovn,
1340 x_return_status => x_return_status,
1341 x_msg_count => x_msg_count,
1342 x_msg_data => x_msg_data
1343 );
1344
1345 -- assign financial_number_id
1346 p_fin_objs(i).financial_number_objs(j).financial_number_id := l_fin_number_rec.financial_number_id;
1347 END IF;
1348 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1349 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1350 hz_utility_v2pub.debug(p_message=>'Error occurred at hz_organization_bo_pub.save_financial_reports, fin_number_id: '||l_dummy_id,
1351 p_prefix=>l_debug_prefix,
1352 p_msg_level=>fnd_log.level_procedure);
1353 END IF;
1354 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_ENTITY_ERROR');
1355 FND_MESSAGE.SET_TOKEN('ENTITY', 'HZ_FINANCIAL_NUMBERS');
1356 FND_MSG_PUB.ADD;
1357 RAISE FND_API.G_EXC_ERROR;
1358 END IF;
1359 END LOOP;
1360 END IF; --Bug 6619304
1361 END IF;
1362 END LOOP;
1363
1364 -- Debug info.
1365 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
1366 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1367 p_msg_data=>x_msg_data,
1368 p_msg_type=>'WARNING',
1369 p_msg_level=>fnd_log.level_exception);
1370 END IF;
1371 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1372 hz_utility_v2pub.debug(p_message=>'save_financial_reports(-)',
1373 p_prefix=>l_debug_prefix,
1374 p_msg_level=>fnd_log.level_procedure);
1375 END IF;
1376 EXCEPTION
1377 WHEN fnd_api.g_exc_error THEN
1378 ROLLBACK TO save_financial_reports_pub;
1379 x_return_status := fnd_api.g_ret_sts_error;
1380
1381 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1382 p_count => x_msg_count,
1383 p_data => x_msg_data);
1384
1385 -- Debug info.
1386 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1387 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1388 p_msg_data=>x_msg_data,
1389 p_msg_type=>'ERROR',
1390 p_msg_level=>fnd_log.level_error);
1391 END IF;
1392 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1393 hz_utility_v2pub.debug(p_message=>'save_financial_reports(-)',
1394 p_prefix=>l_debug_prefix,
1395 p_msg_level=>fnd_log.level_procedure);
1396 END IF;
1397 WHEN fnd_api.g_exc_unexpected_error THEN
1398 ROLLBACK TO save_financial_reports_pub;
1399 x_return_status := fnd_api.g_ret_sts_unexp_error;
1400
1401 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1402 p_count => x_msg_count,
1403 p_data => x_msg_data);
1404
1405 -- Debug info.
1406 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1407 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1408 p_msg_data=>x_msg_data,
1409 p_msg_type=>'UNEXPECTED ERROR',
1410 p_msg_level=>fnd_log.level_error);
1411 END IF;
1412 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1413 hz_utility_v2pub.debug(p_message=>'save_financial_reports(-)',
1414 p_prefix=>l_debug_prefix,
1415 p_msg_level=>fnd_log.level_procedure);
1416 END IF;
1417 WHEN OTHERS THEN
1418 ROLLBACK TO save_financial_reports_pub;
1419 x_return_status := fnd_api.g_ret_sts_unexp_error;
1420
1421 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
1422 fnd_message.set_token('ERROR' ,SQLERRM);
1423 fnd_msg_pub.add;
1424
1425 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1426 p_count => x_msg_count,
1427 p_data => x_msg_data);
1428
1429 -- Debug info.
1430 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1431 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1432 p_msg_data=>x_msg_data,
1433 p_msg_type=>'SQL ERROR',
1434 p_msg_level=>fnd_log.level_error);
1435 END IF;
1436 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1437 hz_utility_v2pub.debug(p_message=>'save_financial_reports(-)',
1438 p_prefix=>l_debug_prefix,
1439 p_msg_level=>fnd_log.level_procedure);
1440 END IF;
1441 END save_financial_reports;
1442
1443 -- PROCEDURE do_create_organization_bo
1444 --
1445 -- DESCRIPTION
1446 -- Create organization business object.
1447 PROCEDURE do_create_organization_bo(
1448 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
1449 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
1450 p_organization_obj IN OUT NOCOPY HZ_ORGANIZATION_BO,
1451 p_created_by_module IN VARCHAR2,
1452 p_obj_source IN VARCHAR2 := null,
1453 x_return_status OUT NOCOPY VARCHAR2,
1454 x_msg_count OUT NOCOPY NUMBER,
1455 x_msg_data OUT NOCOPY VARCHAR2,
1456 x_organization_id OUT NOCOPY NUMBER,
1457 x_organization_os OUT NOCOPY VARCHAR2,
1458 x_organization_osr OUT NOCOPY VARCHAR2
1459 ) IS
1460 l_debug_prefix VARCHAR2(30);
1461 l_organization_rec HZ_PARTY_V2PUB.ORGANIZATION_REC_TYPE;
1462 l_profile_id NUMBER;
1463 l_party_number VARCHAR2(30);
1464 l_dummy_id NUMBER;
1465 l_valid_obj BOOLEAN;
1466 l_bus_object HZ_REGISTRY_VALIDATE_BO_PVT.COMPLETENESS_REC_TYPE;
1467 l_errorcode NUMBER;
1468 l_raise_event BOOLEAN := FALSE;
1469 l_cbm VARCHAR2(30);
1470 l_event_id NUMBER;
1471 l_sms_objs HZ_SMS_CP_BO_TBL;
1472 l_party_search_rec HZ_PARTY_SEARCH.PARTY_SEARCH_REC_TYPE;
1473 l_party_site_list HZ_PARTY_SEARCH.PARTY_SITE_LIST;
1474 l_contact_list HZ_PARTY_SEARCH.CONTACT_LIST;
1475 l_contact_point_list HZ_PARTY_SEARCH.CONTACT_POINT_LIST;
1476 l_match_rule_id number;
1477 l_search_ctx_id NUMBER;
1478 l_num_matches NUMBER;
1479 l_party_id NUMBER;
1480 l_match_score NUMBER;
1481 l_tmp_score NUMBER;
1482 l_match_threshold NUMBER;
1483 l_automerge_threshold NUMBER;
1484 l_dup_batch_id NUMBER;
1485 l_dup_set_id NUMBER;
1486 l_request_id NUMBER;
1487 l_dup_batch_rec HZ_DUP_PVT.DUP_BATCH_REC_TYPE;
1488 l_dup_set_rec HZ_DUP_PVT.DUP_SET_REC_TYPE;
1489 l_dup_party_tbl HZ_DUP_PVT.DUP_PARTY_TBL_TYPE;
1490 l_party_name varchar2(360);
1491 l_overlap_merge_req_id NUMBER;
1492 l_object_version_number NUMBER;
1493 l_batch_id NUMBER;
1494 l_cpt_count NUMBER;
1495
1496 cursor get_obj_version_csr(cp_dup_set_id number) is
1497 SELECT object_version_number
1498 FROM hz_dup_sets
1499 WHERE dup_set_id = cp_dup_set_id;
1500
1501 BEGIN
1502 -- Standard start of API savepoint
1503 SAVEPOINT do_create_organization_bo_pub;
1504
1505 -- initialize API return status to success.
1506 x_return_status := FND_API.G_RET_STS_SUCCESS;
1507
1508 -- Initialize message list if p_init_msg_list is set to TRUE.
1509 IF FND_API.to_Boolean(p_init_msg_list) THEN
1510 FND_MSG_PUB.initialize;
1511 END IF;
1512
1513 -- initialize Global variable
1514 HZ_UTILITY_V2PUB.G_CALLING_API := 'BO_API';
1515 IF(p_created_by_module IS NULL) THEN
1516 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := 'BO_API';
1517 ELSE
1518 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := p_created_by_module;
1519 END IF;
1520
1521 -- Debug info.
1522 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1523 hz_utility_v2pub.debug(p_message=>'do_create_organization_bo(+)',
1524 p_prefix=>l_debug_prefix,
1525 p_msg_level=>fnd_log.level_procedure);
1526 END IF;
1527
1528 -- Base on p_validate_bo_flag to check completeness of business object
1529 IF(p_validate_bo_flag = FND_API.G_TRUE) THEN
1530 HZ_REGISTRY_VALIDATE_BO_PVT.get_bus_obj_struct(
1531 p_bus_object_code => 'ORG',
1532 x_bus_object => l_bus_object
1533 );
1534 l_valid_obj := HZ_REGISTRY_VALIDATE_BO_PVT.is_org_bo_comp(
1535 p_organization_obj => p_organization_obj,
1536 p_bus_object => l_bus_object
1537 );
1538 IF NOT(l_valid_obj) THEN
1539 RAISE fnd_api.g_exc_error;
1540 END IF;
1541
1542 -- find out if raise event at the end
1543 l_raise_event := HZ_PARTY_BO_PVT.is_raising_create_event(
1544 p_obj_complete_flag => l_valid_obj );
1545
1546 IF(l_raise_event) THEN
1547 -- get event_id and set global variable to event_id for
1548 -- BOT populate function
1549 SELECT HZ_BUS_OBJ_TRACKING_S.nextval
1550 INTO l_event_id
1551 FROM DUAL;
1552 END IF;
1553 ELSE
1554 l_raise_event := FALSE;
1555 END IF;
1556
1557 x_organization_id := p_organization_obj.organization_id;
1558 x_organization_os := p_organization_obj.orig_system;
1559 x_organization_osr:= p_organization_obj.orig_system_reference;
1560
1561 -- check input person party id and os+osr
1562 hz_registry_validate_bo_pvt.validate_ssm_id(
1563 px_id => x_organization_id,
1564 px_os => x_organization_os,
1565 px_osr => x_organization_osr,
1566 p_obj_type => 'ORGANIZATION',
1567 p_create_or_update => 'C',
1568 x_return_status => x_return_status,
1569 x_msg_count => x_msg_count,
1570 x_msg_data => x_msg_data);
1571
1572 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1573 RAISE FND_API.G_EXC_ERROR;
1574 END IF;
1575
1576 ---------------------------------------
1577 -- Assign organization and party record
1578 ---------------------------------------
1579 assign_organization_rec(
1580 p_organization_obj => p_organization_obj,
1581 p_organization_id => x_organization_id,
1582 p_organization_os => x_organization_os,
1583 p_organization_osr => x_organization_osr,
1584 px_organization_rec => l_organization_rec
1585 );
1586
1587 HZ_PARTY_V2PUB.create_organization(
1588 p_organization_rec => l_organization_rec,
1589 x_party_id => x_organization_id,
1590 x_party_number => l_party_number,
1591 x_profile_id => l_profile_id,
1592 x_return_status => x_return_status,
1593 x_msg_count => x_msg_count,
1594 x_msg_data => x_msg_data
1595 );
1596
1597 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1598 RAISE FND_API.G_EXC_ERROR;
1599 END IF;
1600
1601 -- assign organization party_id
1602 p_organization_obj.organization_id := x_organization_id;
1603 p_organization_obj.party_number := l_party_number;
1604 --------------------------
1605 -- Create Org Ext Attrs
1606 --------------------------
1607 IF((p_organization_obj.ext_attributes_objs IS NOT NULL) AND
1608 (p_organization_obj.ext_attributes_objs.COUNT > 0)) THEN
1609 HZ_EXT_ATTRIBUTE_BO_PVT.save_ext_attributes(
1610 p_ext_attr_objs => p_organization_obj.ext_attributes_objs,
1611 p_parent_obj_id => l_profile_id,
1612 p_parent_obj_type => 'ORG',
1613 p_create_or_update => 'C',
1614 x_return_status => x_return_status,
1615 x_errorcode => l_errorcode,
1616 x_msg_count => x_msg_count,
1617 x_msg_data => x_msg_data
1618 );
1619
1620 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1621 RAISE FND_API.G_EXC_ERROR;
1622 END IF;
1623 END IF;
1624
1625 ----------------------------
1626 -- Party Preferences
1627 ----------------------------
1628 IF((p_organization_obj.preference_objs IS NOT NULL) AND
1629 (p_organization_obj.preference_objs.COUNT > 0)) THEN
1630 HZ_PARTY_BO_PVT.save_party_preferences(
1631 p_party_pref_objs => p_organization_obj.preference_objs,
1632 p_party_id => x_organization_id,
1633 x_return_status => x_return_status,
1634 x_msg_count => x_msg_count,
1635 x_msg_data => x_msg_data
1636 );
1637
1638 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1639 RAISE FND_API.G_EXC_ERROR;
1640 END IF;
1641 END IF;
1642
1643 ----------------------------
1644 -- Contact Preferences
1645 ----------------------------
1646 IF((p_organization_obj.contact_pref_objs IS NOT NULL) AND
1647 (p_organization_obj.contact_pref_objs.COUNT > 0)) THEN
1648 HZ_CONTACT_PREFERENCE_BO_PVT.create_contact_preferences(
1649 p_cp_pref_objs => p_organization_obj.contact_pref_objs,
1650 p_contact_level_table_id => x_organization_id,
1651 p_contact_level_table => 'HZ_PARTIES',
1652 x_return_status => x_return_status,
1653 x_msg_count => x_msg_count,
1654 x_msg_data => x_msg_data
1655 );
1656
1657 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1658 RAISE FND_API.G_EXC_ERROR;
1659 END IF;
1660 END IF;
1661
1662 ----------------------------
1663 -- Relationship api
1664 ----------------------------
1665 IF((p_organization_obj.relationship_objs IS NOT NULL) AND
1666 (p_organization_obj.relationship_objs.COUNT > 0)) THEN
1667 HZ_PARTY_BO_PVT.create_relationships(
1668 p_rel_objs => p_organization_obj.relationship_objs,
1669 p_subject_id => x_organization_id,
1670 p_subject_type => 'ORGANIZATION',
1671 x_return_status => x_return_status,
1672 x_msg_count => x_msg_count,
1673 x_msg_data => x_msg_data
1674 );
1675
1676 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1677 RAISE FND_API.G_EXC_ERROR;
1678 END IF;
1679 END IF;
1680
1681 ----------------------------
1682 -- Classification api
1683 ----------------------------
1684 IF((p_organization_obj.class_objs IS NOT NULL) AND
1685 (p_organization_obj.class_objs.COUNT > 0)) THEN
1686 HZ_PARTY_BO_PVT.create_classifications(
1687 p_code_assign_objs => p_organization_obj.class_objs,
1688 p_owner_table_name => 'HZ_PARTIES',
1689 p_owner_table_id => x_organization_id,
1690 x_return_status => x_return_status,
1691 x_msg_count => x_msg_count,
1692 x_msg_data => x_msg_data
1693 );
1694
1695 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1696 RAISE FND_API.G_EXC_ERROR;
1697 END IF;
1698 END IF;
1699
1700 l_cbm := HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE;
1701
1702 -----------------------------
1703 -- Create logical org contact
1704 -----------------------------
1705 IF((p_organization_obj.contact_objs IS NOT NULL) AND
1706 (p_organization_obj.contact_objs.COUNT > 0)) THEN
1707 HZ_ORG_CONTACT_BO_PVT.save_org_contacts(
1708 p_oc_objs => p_organization_obj.contact_objs,
1709 p_create_update_flag => 'C',
1710 p_obj_source => p_obj_source,
1711 x_return_status => x_return_status,
1712 x_msg_count => x_msg_count,
1713 x_msg_data => x_msg_data,
1714 p_parent_org_id => x_organization_id,
1715 p_parent_org_os => x_organization_os,
1716 p_parent_org_osr => x_organization_osr
1717 );
1718
1719 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1720 RAISE FND_API.G_EXC_ERROR;
1721 END IF;
1722 END IF;
1723
1724 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := l_cbm;
1725
1726 ----------------------------
1727 -- Create logical party site
1728 ----------------------------
1729 IF((p_organization_obj.party_site_objs IS NOT NULL) AND
1730 (p_organization_obj.party_site_objs.COUNT > 0)) THEN
1731 HZ_PARTY_SITE_BO_PVT.save_party_sites(
1732 p_ps_objs => p_organization_obj.party_site_objs,
1733 p_create_update_flag => 'C',
1734 p_obj_source => p_obj_source,
1735 x_return_status => x_return_status,
1736 x_msg_count => x_msg_count,
1737 x_msg_data => x_msg_data,
1738 p_parent_id => x_organization_id,
1739 p_parent_os => x_organization_os,
1740 p_parent_osr => x_organization_osr,
1741 p_parent_obj_type => 'ORG'
1742 );
1743
1744 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1745 RAISE FND_API.G_EXC_ERROR;
1746 END IF;
1747 END IF;
1748
1749 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := l_cbm;
1750
1751 ------------------------
1752 -- Create contact points
1753 ------------------------
1754 IF(((p_organization_obj.phone_objs IS NOT NULL) AND (p_organization_obj.phone_objs.COUNT > 0)) OR
1755 ((p_organization_obj.telex_objs IS NOT NULL) AND (p_organization_obj.telex_objs.COUNT > 0)) OR
1756 ((p_organization_obj.email_objs IS NOT NULL) AND (p_organization_obj.email_objs.COUNT > 0)) OR
1757 ((p_organization_obj.web_objs IS NOT NULL) AND (p_organization_obj.web_objs.COUNT > 0)) OR
1758 ((p_organization_obj.edi_objs IS NOT NULL) AND (p_organization_obj.edi_objs.COUNT > 0)) OR
1759 ((p_organization_obj.eft_objs IS NOT NULL) AND (p_organization_obj.eft_objs.COUNT > 0))) THEN
1760 HZ_CONTACT_POINT_BO_PVT.save_contact_points(
1761 p_phone_objs => p_organization_obj.phone_objs,
1762 p_telex_objs => p_organization_obj.telex_objs,
1763 p_email_objs => p_organization_obj.email_objs,
1764 p_web_objs => p_organization_obj.web_objs,
1765 p_edi_objs => p_organization_obj.edi_objs,
1766 p_eft_objs => p_organization_obj.eft_objs,
1767 p_sms_objs => l_sms_objs,
1768 p_owner_table_id => x_organization_id,
1769 p_owner_table_os => x_organization_os,
1770 p_owner_table_osr => x_organization_osr,
1771 p_parent_obj_type => 'ORG',
1772 p_create_update_flag => 'C',
1773 p_obj_source => p_obj_source,
1774 x_return_status => x_return_status,
1775 x_msg_count => x_msg_count,
1776 x_msg_data => x_msg_data
1777 );
1778
1779 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1780 RAISE FND_API.G_EXC_ERROR;
1781 END IF;
1782 END IF;
1783
1784 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := l_cbm;
1785
1786 ----------------------------
1787 -- Certifications
1788 ----------------------------
1789 IF((p_organization_obj.certification_objs IS NOT NULL) AND
1790 (p_organization_obj.certification_objs.COUNT > 0)) THEN
1791 HZ_PARTY_BO_PVT.create_certifications(
1792 p_cert_objs => p_organization_obj.certification_objs,
1793 p_party_id => x_organization_id,
1794 x_return_status => x_return_status,
1795 x_msg_count => x_msg_count,
1796 x_msg_data => x_msg_data
1797 );
1798
1799 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1800 RAISE FND_API.G_EXC_ERROR;
1801 END IF;
1802 END IF;
1803
1804 ----------------------------
1805 -- Financial Profiles
1806 ----------------------------
1807 IF((p_organization_obj.financial_prof_objs IS NOT NULL) AND
1808 (p_organization_obj.financial_prof_objs.COUNT > 0)) THEN
1809 HZ_PARTY_BO_PVT.create_financial_profiles(
1810 p_fin_prof_objs => p_organization_obj.financial_prof_objs,
1811 p_party_id => x_organization_id,
1812 x_return_status => x_return_status,
1813 x_msg_count => x_msg_count,
1814 x_msg_data => x_msg_data
1815 );
1816
1817 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1818 RAISE FND_API.G_EXC_ERROR;
1819 END IF;
1820 END IF;
1821
1822 ----------------------------------
1823 -- Party Usages -------
1824 ----------------------------------
1825 IF ((p_organization_obj.party_usage_objs IS NOT NULL) AND
1826 (p_organization_obj.party_usage_objs.COUNT > 0 )) THEN
1827 HZ_PARTY_BO_PVT.create_party_usage_assgmnt(
1828 p_party_usg_objs => p_organization_obj.party_usage_objs,
1829 p_party_id => x_organization_id,
1830 x_return_status => x_return_status,
1831 x_msg_count => x_msg_count,
1832 x_msg_data => x_msg_data
1833 );
1834 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1835 RAISE FND_API.G_EXC_ERROR;
1836 END IF;
1837 END IF;
1838
1839
1840 ----------------------------
1841 -- Credit Ratings
1842 ----------------------------
1843 IF((p_organization_obj.credit_rating_objs IS NOT NULL) AND
1844 (p_organization_obj.credit_rating_objs.COUNT > 0)) THEN
1845 create_credit_ratings(
1846 p_credit_rating_objs => p_organization_obj.credit_rating_objs,
1847 p_organization_id => x_organization_id,
1848 x_return_status => x_return_status,
1849 x_msg_count => x_msg_count,
1850 x_msg_data => x_msg_data
1851 );
1852
1853 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1854 RAISE FND_API.G_EXC_ERROR;
1855 END IF;
1856 END IF;
1857
1858 ----------------------------
1859 -- Financial Reports
1860 ----------------------------
1861 IF((p_organization_obj.financial_report_objs IS NOT NULL) AND
1862 (p_organization_obj.financial_report_objs.COUNT > 0)) THEN
1863 create_financial_reports(
1864 p_fin_objs => p_organization_obj.financial_report_objs,
1865 p_organization_id => x_organization_id,
1866 x_return_status => x_return_status,
1867 x_msg_count => x_msg_count,
1868 x_msg_data => x_msg_data
1869 );
1870
1871 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1872 RAISE FND_API.G_EXC_ERROR;
1873 END IF;
1874 END IF;
1875
1876 -- raise event
1877 IF(l_raise_event) THEN
1878 HZ_PARTY_BO_PVT.call_bes(
1879 p_party_id => x_organization_id,
1880 p_bo_code => 'ORG',
1881 p_create_or_update => 'C',
1882 p_obj_source => p_obj_source,
1883 p_event_id => l_event_id
1884 );
1885 END IF;
1886
1887 -- Enh: check if DQM is enabled
1888 if nvl(fnd_profile.value('HZ_BO_ENABLE_DQ'),'N') = 'Y'
1889 then
1890 -- call DQM search API
1891
1892 l_match_rule_id := nvl(fnd_profile.value('HZ_BO_ORG_MATCH_RULE'), 238); -- 238: new org match rule
1893
1894 IF fnd_log.level_statement>=fnd_log.g_current_runtime_level THEN
1895 hz_utility_v2pub.debug(p_message=>'Enable DQ on Integration Services: START ',p_prefix=>'DEBUG: ',p_msg_level=>fnd_log.level_statement, p_module=>'HZ_Module.enableDQ');
1896 hz_utility_v2pub.debug(p_message=>'Match Rule ID '||l_match_rule_id,p_prefix=>'DEBUG: ',p_msg_level=>fnd_log.level_statement, p_module=>'HZ_Module.enableDQ');
1897 hz_utility_v2pub.debug(p_message=>'Newly Created Party Id: '||x_organization_id,p_prefix=>'DEBUG: ',p_msg_level=>fnd_log.level_statement, p_module=>'HZ_Module.enableDQ');
1898 END IF;
1899 l_party_search_rec.ANALYSIS_FY := l_organization_rec.ANALYSIS_FY;
1900 l_party_search_rec.AVG_HIGH_CREDIT := l_organization_rec.AVG_HIGH_CREDIT;
1901 l_party_search_rec.BEST_TIME_CONTACT_BEGIN := l_organization_rec.BEST_TIME_CONTACT_BEGIN;
1902 l_party_search_rec.BEST_TIME_CONTACT_END := l_organization_rec.BEST_TIME_CONTACT_END;
1903 l_party_search_rec.BRANCH_FLAG := l_organization_rec.BRANCH_FLAG;
1904 l_party_search_rec.BUSINESS_SCOPE := l_organization_rec.BUSINESS_SCOPE;
1905 l_party_search_rec.CEO_NAME := l_organization_rec.CEO_NAME;
1906 l_party_search_rec.CEO_TITLE := l_organization_rec.CEO_TITLE;
1907 l_party_search_rec.CONG_DIST_CODE := l_organization_rec.CONG_DIST_CODE;
1908 l_party_search_rec.CONTENT_SOURCE_NUMBER := l_organization_rec.CONTENT_SOURCE_NUMBER;
1909 l_party_search_rec.CONTROL_YR := l_organization_rec.CONTROL_YR;
1910 l_party_search_rec.CORPORATION_CLASS := l_organization_rec.CORPORATION_CLASS;
1911 l_party_search_rec.CREDIT_SCORE := l_organization_rec.CREDIT_SCORE;
1912 l_party_search_rec.CREDIT_SCORE_AGE := l_organization_rec.CREDIT_SCORE_AGE;
1913 l_party_search_rec.CREDIT_SCORE_CLASS := l_organization_rec.CREDIT_SCORE_CLASS;
1914 l_party_search_rec.CREDIT_SCORE_COMMENTARY := l_organization_rec.CREDIT_SCORE_COMMENTARY;
1915 l_party_search_rec.CREDIT_SCORE_COMMENTARY10 := l_organization_rec.CREDIT_SCORE_COMMENTARY10;
1916 l_party_search_rec.CREDIT_SCORE_COMMENTARY2 := l_organization_rec.CREDIT_SCORE_COMMENTARY2;
1917 l_party_search_rec.CREDIT_SCORE_COMMENTARY3 := l_organization_rec.CREDIT_SCORE_COMMENTARY3;
1918 l_party_search_rec.CREDIT_SCORE_COMMENTARY4 := l_organization_rec.CREDIT_SCORE_COMMENTARY4;
1919 l_party_search_rec.CREDIT_SCORE_COMMENTARY5 := l_organization_rec.CREDIT_SCORE_COMMENTARY5;
1920 l_party_search_rec.CREDIT_SCORE_COMMENTARY6 := l_organization_rec.CREDIT_SCORE_COMMENTARY6;
1921 l_party_search_rec.CREDIT_SCORE_COMMENTARY7 := l_organization_rec.CREDIT_SCORE_COMMENTARY7;
1922 l_party_search_rec.CREDIT_SCORE_COMMENTARY8 := l_organization_rec.CREDIT_SCORE_COMMENTARY8;
1923 l_party_search_rec.CREDIT_SCORE_COMMENTARY9 := l_organization_rec.CREDIT_SCORE_COMMENTARY9;
1924 l_party_search_rec.CREDIT_SCORE_DATE := l_organization_rec.CREDIT_SCORE_DATE;
1925 l_party_search_rec.CREDIT_SCORE_INCD_DEFAULT := l_organization_rec.CREDIT_SCORE_INCD_DEFAULT;
1926 l_party_search_rec.CREDIT_SCORE_NATL_PERCENTILE := l_organization_rec.CREDIT_SCORE_NATL_PERCENTILE;
1927 l_party_search_rec.CURR_FY_POTENTIAL_REVENUE := l_organization_rec.CURR_FY_POTENTIAL_REVENUE;
1928 l_party_search_rec.DB_RATING := l_organization_rec.DB_RATING;
1929 l_party_search_rec.DEBARMENTS_COUNT := l_organization_rec.DEBARMENTS_COUNT;
1930 l_party_search_rec.DEBARMENTS_DATE := l_organization_rec.DEBARMENTS_DATE;
1931 l_party_search_rec.DEBARMENT_IND := l_organization_rec.DEBARMENT_IND;
1932 l_party_search_rec.DISADV_8A_IND := l_organization_rec.DISADV_8A_IND;
1933 l_party_search_rec.DUNS_NUMBER_C := l_organization_rec.DUNS_NUMBER_C;
1934 l_party_search_rec.EMPLOYEES_TOTAL := l_organization_rec.EMPLOYEES_TOTAL;
1935 l_party_search_rec.EMP_AT_PRIMARY_ADR := l_organization_rec.EMP_AT_PRIMARY_ADR;
1936 l_party_search_rec.EMP_AT_PRIMARY_ADR_EST_IND := l_organization_rec.EMP_AT_PRIMARY_ADR_EST_IND;
1937 l_party_search_rec.EMP_AT_PRIMARY_ADR_MIN_IND := l_organization_rec.EMP_AT_PRIMARY_ADR_MIN_IND;
1938 l_party_search_rec.EMP_AT_PRIMARY_ADR_TEXT := l_organization_rec.EMP_AT_PRIMARY_ADR_TEXT;
1939 l_party_search_rec.ENQUIRY_DUNS := l_organization_rec.ENQUIRY_DUNS;
1940 l_party_search_rec.EXPORT_IND := l_organization_rec.EXPORT_IND;
1941 l_party_search_rec.FAILURE_SCORE := l_organization_rec.FAILURE_SCORE;
1942 l_party_search_rec.FAILURE_SCORE_AGE := l_organization_rec.FAILURE_SCORE_AGE;
1943 l_party_search_rec.FAILURE_SCORE_CLASS := l_organization_rec.FAILURE_SCORE_CLASS;
1944 l_party_search_rec.FAILURE_SCORE_COMMENTARY := l_organization_rec.FAILURE_SCORE_COMMENTARY;
1945 l_party_search_rec.FAILURE_SCORE_COMMENTARY10 := l_organization_rec.FAILURE_SCORE_COMMENTARY10;
1946 l_party_search_rec.FAILURE_SCORE_COMMENTARY2 := l_organization_rec.FAILURE_SCORE_COMMENTARY2;
1947 l_party_search_rec.FAILURE_SCORE_COMMENTARY3 := l_organization_rec.FAILURE_SCORE_COMMENTARY3;
1948 l_party_search_rec.FAILURE_SCORE_COMMENTARY4 := l_organization_rec.FAILURE_SCORE_COMMENTARY4;
1949 l_party_search_rec.FAILURE_SCORE_COMMENTARY5 := l_organization_rec.FAILURE_SCORE_COMMENTARY5;
1950 l_party_search_rec.FAILURE_SCORE_COMMENTARY6 := l_organization_rec.FAILURE_SCORE_COMMENTARY6;
1951 l_party_search_rec.FAILURE_SCORE_COMMENTARY7 := l_organization_rec.FAILURE_SCORE_COMMENTARY7;
1952 l_party_search_rec.FAILURE_SCORE_COMMENTARY8 := l_organization_rec.FAILURE_SCORE_COMMENTARY8;
1953 l_party_search_rec.FAILURE_SCORE_COMMENTARY9 := l_organization_rec.FAILURE_SCORE_COMMENTARY9;
1954 l_party_search_rec.FAILURE_SCORE_DATE := l_organization_rec.FAILURE_SCORE_DATE;
1955 l_party_search_rec.FAILURE_SCORE_INCD_DEFAULT := l_organization_rec.FAILURE_SCORE_INCD_DEFAULT;
1956 l_party_search_rec.FAILURE_SCORE_OVERRIDE_CODE := l_organization_rec.FAILURE_SCORE_OVERRIDE_CODE;
1957 l_party_search_rec.FISCAL_YEAREND_MONTH := l_organization_rec.FISCAL_YEAREND_MONTH;
1958 l_party_search_rec.GLOBAL_FAILURE_SCORE := l_organization_rec.GLOBAL_FAILURE_SCORE;
1959 l_party_search_rec.GSA_INDICATOR_FLAG := l_organization_rec.GSA_INDICATOR_FLAG;
1960 l_party_search_rec.HIGH_CREDIT := l_organization_rec.HIGH_CREDIT;
1961 l_party_search_rec.HQ_BRANCH_IND := l_organization_rec.HQ_BRANCH_IND;
1962 l_party_search_rec.IMPORT_IND := l_organization_rec.IMPORT_IND;
1963 l_party_search_rec.INCORP_YEAR := l_organization_rec.INCORP_YEAR;
1964 l_party_search_rec.INTERNAL_FLAG := l_organization_rec.INTERNAL_FLAG;
1965 l_party_search_rec.JGZZ_FISCAL_CODE := l_organization_rec.JGZZ_FISCAL_CODE;
1966 l_party_search_rec.PARTY_ALL_NAMES := l_organization_rec.ORGANIZATION_NAME|| ' ' ||
1967 l_organization_rec.KNOWN_AS|| ' ' ||
1968 l_organization_rec.KNOWN_AS2|| ' ' ||
1969 l_organization_rec.KNOWN_AS3|| ' ' ||
1970 l_organization_rec.KNOWN_AS4|| ' ' ||
1971 l_organization_rec.KNOWN_AS5;
1972 l_party_search_rec.KNOWN_AS := l_organization_rec.KNOWN_AS;
1973 l_party_search_rec.KNOWN_AS2 := l_organization_rec.KNOWN_AS2;
1974 l_party_search_rec.KNOWN_AS3 := l_organization_rec.KNOWN_AS3;
1975 l_party_search_rec.KNOWN_AS4 := l_organization_rec.KNOWN_AS4;
1976 l_party_search_rec.KNOWN_AS5 := l_organization_rec.KNOWN_AS5;
1977 l_party_search_rec.LABOR_SURPLUS_IND := l_organization_rec.LABOR_SURPLUS_IND;
1978 l_party_search_rec.LEGAL_STATUS := l_organization_rec.LEGAL_STATUS;
1979 l_party_search_rec.LINE_OF_BUSINESS := l_organization_rec.LINE_OF_BUSINESS;
1980 l_party_search_rec.LOCAL_ACTIVITY_CODE := l_organization_rec.LOCAL_ACTIVITY_CODE;
1981 l_party_search_rec.LOCAL_ACTIVITY_CODE_TYPE := l_organization_rec.LOCAL_ACTIVITY_CODE_TYPE;
1982 l_party_search_rec.LOCAL_BUS_IDENTIFIER := l_organization_rec.LOCAL_BUS_IDENTIFIER;
1983 l_party_search_rec.LOCAL_BUS_IDEN_TYPE := l_organization_rec.LOCAL_BUS_IDEN_TYPE;
1984 l_party_search_rec.MAXIMUM_CREDIT_CURRENCY_CODE := l_organization_rec.MAXIMUM_CREDIT_CURRENCY_CODE;
1985 l_party_search_rec.MAXIMUM_CREDIT_RECOMMENDATION := l_organization_rec.MAXIMUM_CREDIT_RECOMMENDATION;
1986 l_party_search_rec.MINORITY_OWNED_IND := l_organization_rec.MINORITY_OWNED_IND;
1987 l_party_search_rec.MINORITY_OWNED_TYPE := l_organization_rec.MINORITY_OWNED_TYPE;
1988 l_party_search_rec.NEXT_FY_POTENTIAL_REVENUE := l_organization_rec.NEXT_FY_POTENTIAL_REVENUE;
1989 l_party_search_rec.OOB_IND := l_organization_rec.OOB_IND;
1990 l_party_search_rec.ORGANIZATION_NAME := l_organization_rec.ORGANIZATION_NAME;
1991 l_party_search_rec.ORGANIZATION_NAME_PHONETIC := l_organization_rec.ORGANIZATION_NAME_PHONETIC;
1992 l_party_search_rec.ORGANIZATION_TYPE := l_organization_rec.ORGANIZATION_TYPE;
1993 l_party_search_rec.PARENT_SUB_IND := l_organization_rec.PARENT_SUB_IND;
1994 l_party_search_rec.PAYDEX_NORM := l_organization_rec.PAYDEX_NORM;
1995 l_party_search_rec.PAYDEX_SCORE := l_organization_rec.PAYDEX_SCORE;
1996 l_party_search_rec.PAYDEX_THREE_MONTHS_AGO := l_organization_rec.PAYDEX_THREE_MONTHS_AGO;
1997 l_party_search_rec.PREF_FUNCTIONAL_CURRENCY := l_organization_rec.PREF_FUNCTIONAL_CURRENCY;
1998 l_party_search_rec.PRINCIPAL_NAME := l_organization_rec.PRINCIPAL_NAME;
1999 l_party_search_rec.PRINCIPAL_TITLE := l_organization_rec.PRINCIPAL_TITLE;
2000 l_party_search_rec.PUBLIC_PRIVATE_OWNERSHIP_FLAG := l_organization_rec.PUBLIC_PRIVATE_OWNERSHIP_FLAG;
2001 l_party_search_rec.REGISTRATION_TYPE := l_organization_rec.REGISTRATION_TYPE;
2002 l_party_search_rec.RENT_OWN_IND := l_organization_rec.RENT_OWN_IND;
2003 l_party_search_rec.SIC_CODE := l_organization_rec.SIC_CODE;
2004 l_party_search_rec.SIC_CODE_TYPE := l_organization_rec.SIC_CODE_TYPE;
2005 l_party_search_rec.SMALL_BUS_IND := l_organization_rec.SMALL_BUS_IND;
2006 l_party_search_rec.TAX_REFERENCE := l_organization_rec.TAX_REFERENCE;
2007 l_party_search_rec.TOTAL_EMPLOYEES_TEXT := l_organization_rec.TOTAL_EMPLOYEES_TEXT;
2008 l_party_search_rec.TOTAL_EMP_EST_IND := l_organization_rec.TOTAL_EMP_EST_IND;
2009 l_party_search_rec.TOTAL_EMP_MIN_IND := l_organization_rec.TOTAL_EMP_MIN_IND;
2010 l_party_search_rec.TOTAL_EMPLOYEES_IND := l_organization_rec.TOTAL_EMPLOYEES_IND;
2011 l_party_search_rec.TOTAL_PAYMENTS := l_organization_rec.TOTAL_PAYMENTS;
2012 l_party_search_rec.WOMAN_OWNED_IND := l_organization_rec.WOMAN_OWNED_IND;
2013 l_party_search_rec.YEAR_ESTABLISHED := l_organization_rec.YEAR_ESTABLISHED;
2014 l_party_search_rec.CATEGORY_CODE := p_organization_obj.CATEGORY_CODE;
2015 l_party_search_rec.PARTY_NAME := l_organization_rec.ORGANIZATION_NAME;
2016 l_party_search_rec.PARTY_NUMBER := p_organization_obj.PARTY_NUMBER;
2017 l_party_search_rec.PARTY_TYPE := 'ORGANIZATION';
2018 l_party_search_rec.STATUS := p_organization_obj.STATUS;
2019 l_party_search_rec.PARTY_SOURCE_SYSTEM_REF := p_organization_obj.orig_system|| ' ' ||p_organization_obj.orig_system_reference||' ';
2020
2021
2022 IF((p_organization_obj.party_site_objs IS NOT NULL) AND (p_organization_obj.party_site_objs.COUNT > 0)) THEN
2023 for i in 1..p_organization_obj.party_site_objs.COUNT loop
2024 l_party_site_list(i).ADDR_SOURCE_SYSTEM_REF := p_organization_obj.party_site_objs(i).orig_system|| ' ' ||p_organization_obj.party_site_objs(i).orig_system_reference||' ';
2025 l_party_site_list(i).address := p_organization_obj.party_site_objs(i).location_obj.ADDRESS1|| ' ' ||
2026 p_organization_obj.party_site_objs(i).location_obj.ADDRESS2|| ' ' ||
2027 p_organization_obj.party_site_objs(i).location_obj.ADDRESS3|| ' ' ||
2028 p_organization_obj.party_site_objs(i).location_obj.ADDRESS4;
2029
2030 IF fnd_log.level_statement>=fnd_log.g_current_runtime_level THEN
2031 hz_utility_v2pub.debug(p_message=>'l_party_site_list('||i||').address: '||l_party_site_list(i).ADDRESS,p_prefix=>'DEBUG: ',p_msg_level=>fnd_log.level_statement, p_module=>'HZ_Module.enableDQ');
2032 END IF;
2033 l_party_site_list(i).ADDRESS1 := p_organization_obj.party_site_objs(i).location_obj.ADDRESS1;
2034 l_party_site_list(i).ADDRESS2 := p_organization_obj.party_site_objs(i).location_obj.ADDRESS2;
2035 l_party_site_list(i).ADDRESS3 := p_organization_obj.party_site_objs(i).location_obj.ADDRESS3;
2036 l_party_site_list(i).ADDRESS4 := p_organization_obj.party_site_objs(i).location_obj.ADDRESS4;
2037 l_party_site_list(i).ADDRESS_EFFECTIVE_DATE := p_organization_obj.party_site_objs(i).location_obj.ADDRESS_EFFECTIVE_DATE;
2038 l_party_site_list(i).ADDRESS_EXPIRATION_DATE := p_organization_obj.party_site_objs(i).location_obj.ADDRESS_EXPIRATION_DATE;
2039 l_party_site_list(i).ADDRESS_LINES_PHONETIC := p_organization_obj.party_site_objs(i).location_obj.ADDRESS_LINES_PHONETIC;
2040 l_party_site_list(i).CITY := p_organization_obj.party_site_objs(i).location_obj.CITY;
2041 l_party_site_list(i).CLLI_CODE := p_organization_obj.party_site_objs(i).location_obj.CLLI_CODE;
2042 l_party_site_list(i).COUNTRY := p_organization_obj.party_site_objs(i).location_obj.COUNTRY;
2043 l_party_site_list(i).COUNTY := p_organization_obj.party_site_objs(i).location_obj.COUNTY;
2044 l_party_site_list(i).LANGUAGE := p_organization_obj.party_site_objs(i).LANGUAGE;
2045 l_party_site_list(i).POSITION := p_organization_obj.party_site_objs(i).location_obj.POSITION;
2046 l_party_site_list(i).POSTAL_CODE := p_organization_obj.party_site_objs(i).location_obj.POSTAL_CODE;
2047 l_party_site_list(i).POSTAL_PLUS4_CODE := p_organization_obj.party_site_objs(i).location_obj.POSTAL_PLUS4_CODE;
2048
2049 l_party_site_list(i).PROVINCE := p_organization_obj.party_site_objs(i).location_obj.PROVINCE;
2050 l_party_site_list(i).SALES_TAX_GEOCODE := p_organization_obj.party_site_objs(i).location_obj.SALES_TAX_GEOCODE;
2051 l_party_site_list(i).SALES_TAX_INSIDE_CITY_LIMITS := p_organization_obj.party_site_objs(i).location_obj.SALES_TAX_INSIDE_CITY_LIMITS;
2052 l_party_site_list(i).STATE := p_organization_obj.party_site_objs(i).location_obj.STATE;
2053 l_party_site_list(i).IDENTIFYING_ADDRESS_FLAG := p_organization_obj.party_site_objs(i).IDENTIFYING_ADDRESS_FLAG;
2054 l_party_site_list(i).MAILSTOP := p_organization_obj.party_site_objs(i).MAILSTOP;
2055 l_party_site_list(i).PARTY_SITE_NAME := p_organization_obj.party_site_objs(i).PARTY_SITE_NAME;
2056 l_party_site_list(i).PARTY_SITE_NUMBER := p_organization_obj.party_site_objs(i).PARTY_SITE_NUMBER;
2057 l_party_site_list(i).STATUS := p_organization_obj.party_site_objs(i).STATUS;
2058 end loop;
2059 end if;
2060
2061 IF((p_organization_obj.contact_objs IS NOT NULL) AND (p_organization_obj.contact_objs.COUNT > 0)) THEN
2062 for i in 1..p_organization_obj.contact_objs.COUNT loop
2063 l_contact_list(i).CONTACT_SOURCE_SYSTEM_REF :=p_organization_obj.contact_objs(i).orig_system|| ' ' ||p_organization_obj.contact_objs(i).orig_system_reference||' ';
2064 l_contact_list(i).CONTACT_NUMBER := p_organization_obj.contact_objs(i).CONTACT_NUMBER;
2065 l_contact_list(i).CONTACT_NAME := p_organization_obj.contact_objs(i).person_profile_obj.PERSON_FIRST_NAME||' '||p_organization_obj.contact_objs(i).person_profile_obj.PERSON_LAST_NAME;
2066 l_contact_list(i).DECISION_MAKER_FLAG := p_organization_obj.contact_objs(i).DECISION_MAKER_FLAG;
2067 l_contact_list(i).JOB_TITLE := p_organization_obj.contact_objs(i).JOB_TITLE;
2068 l_contact_list(i).JOB_TITLE_CODE := p_organization_obj.contact_objs(i).JOB_TITLE_CODE;
2069 l_contact_list(i).RANK := p_organization_obj.contact_objs(i).RANK;
2070 l_contact_list(i).REFERENCE_USE_FLAG := p_organization_obj.contact_objs(i).REFERENCE_USE_FLAG;
2071 l_contact_list(i).TITLE := p_organization_obj.contact_objs(i).TITLE;
2072 l_contact_list(i).RELATIONSHIP_TYPE := p_organization_obj.contact_objs(i).RELATIONSHIP_TYPE;
2073 l_contact_list(i).DATE_OF_BIRTH := p_organization_obj.contact_objs(i).person_profile_obj.DATE_OF_BIRTH;
2074 l_contact_list(i).DATE_OF_DEATH := p_organization_obj.contact_objs(i).person_profile_obj.DATE_OF_DEATH;
2075 l_contact_list(i).JGZZ_FISCAL_CODE := p_organization_obj.contact_objs(i).person_profile_obj.JGZZ_FISCAL_CODE;
2076 l_contact_list(i).KNOWN_AS := p_organization_obj.contact_objs(i).person_profile_obj.KNOWN_AS;
2077 l_contact_list(i).PERSON_ACADEMIC_TITLE := p_organization_obj.contact_objs(i).person_profile_obj.PERSON_ACADEMIC_TITLE;
2078 l_contact_list(i).PERSON_FIRST_NAME := p_organization_obj.contact_objs(i).person_profile_obj.PERSON_FIRST_NAME;
2079 l_contact_list(i).PERSON_FIRST_NAME_PHONETIC := p_organization_obj.contact_objs(i).person_profile_obj.PERSON_FIRST_NAME_PHONETIC;
2080 l_contact_list(i).PERSON_IDENTIFIER := p_organization_obj.contact_objs(i).person_profile_obj.PERSON_IDENTIFIER;
2081 l_contact_list(i).PERSON_IDEN_TYPE := p_organization_obj.contact_objs(i).person_profile_obj.PERSON_IDEN_TYPE;
2082 l_contact_list(i).PERSON_INITIALS := p_organization_obj.contact_objs(i).person_profile_obj.PERSON_INITIALS;
2083 l_contact_list(i).PERSON_LAST_NAME := p_organization_obj.contact_objs(i).person_profile_obj.PERSON_LAST_NAME;
2084 l_contact_list(i).PERSON_LAST_NAME_PHONETIC := p_organization_obj.contact_objs(i).person_profile_obj.PERSON_LAST_NAME_PHONETIC;
2085 l_contact_list(i).PERSON_MIDDLE_NAME := p_organization_obj.contact_objs(i).person_profile_obj.PERSON_MIDDLE_NAME;
2086 l_contact_list(i).PERSON_NAME := p_organization_obj.contact_objs(i).person_profile_obj.PERSON_FIRST_NAME||' '||p_organization_obj.contact_objs(i).person_profile_obj.PERSON_LAST_NAME;
2087 l_contact_list(i).PERSON_NAME_PHONETIC := p_organization_obj.contact_objs(i).person_profile_obj.PERSON_NAME_PHONETIC;
2088 l_contact_list(i).PERSON_NAME_SUFFIX := p_organization_obj.contact_objs(i).person_profile_obj.PERSON_NAME_SUFFIX;
2089 l_contact_list(i).PERSON_PREVIOUS_LAST_NAME := p_organization_obj.contact_objs(i).person_profile_obj.PERSON_PREVIOUS_LAST_NAME;
2090 l_contact_list(i).PERSON_TITLE := p_organization_obj.contact_objs(i).person_profile_obj.PERSON_TITLE;
2091 l_contact_list(i).PLACE_OF_BIRTH := p_organization_obj.contact_objs(i).person_profile_obj.PLACE_OF_BIRTH;
2092 -- l_contact_list(i).TAX_NAME := p_organization_obj.contact_objs(i).person_profile_obj.TAX_NAME;
2093 l_contact_list(i).TAX_REFERENCE := p_organization_obj.contact_objs(i).person_profile_obj.TAX_REFERENCE;
2094
2095 end loop;
2096 end if;
2097
2098 IF((p_organization_obj.phone_objs IS NOT NULL) AND (p_organization_obj.phone_objs.COUNT > 0))
2099 then
2100 for i in 1..p_organization_obj.phone_objs.COUNT loop
2101 l_contact_point_list(i).CPT_SOURCE_SYSTEM_REF := p_organization_obj.phone_objs(i).orig_system|| ' ' ||p_organization_obj.phone_objs(i).orig_system_reference||' ';
2102 l_contact_point_list(i).CONTACT_POINT_TYPE := 'PHONE';
2103 l_contact_point_list(i).PRIMARY_FLAG := p_organization_obj.phone_objs(i).PRIMARY_FLAG;
2104 l_contact_point_list(i).STATUS := p_organization_obj.phone_objs(i).STATUS;
2105 l_contact_point_list(i).CONTACT_POINT_PURPOSE := p_organization_obj.phone_objs(i).CONTACT_POINT_PURPOSE;
2106 l_contact_point_list(i).LAST_CONTACT_DT_TIME := p_organization_obj.phone_objs(i).LAST_CONTACT_DT_TIME;
2107 l_contact_point_list(i).PHONE_AREA_CODE := p_organization_obj.phone_objs(i).PHONE_AREA_CODE;
2108 l_contact_point_list(i).PHONE_CALLING_CALENDAR := p_organization_obj.phone_objs(i).PHONE_CALLING_CALENDAR;
2109 l_contact_point_list(i).PHONE_COUNTRY_CODE := p_organization_obj.phone_objs(i).PHONE_COUNTRY_CODE;
2110 l_contact_point_list(i).PHONE_EXTENSION := p_organization_obj.phone_objs(i).PHONE_EXTENSION;
2111 l_contact_point_list(i).PHONE_LINE_TYPE := p_organization_obj.phone_objs(i).PHONE_LINE_TYPE;
2112 l_contact_point_list(i).PHONE_NUMBER := p_organization_obj.phone_objs(i).PHONE_NUMBER;
2113 l_contact_point_list(i).PRIMARY_FLAG := p_organization_obj.phone_objs(i).PRIMARY_FLAG;
2114 l_contact_point_list(i).RAW_PHONE_NUMBER := p_organization_obj.phone_objs(i).RAW_PHONE_NUMBER;
2115 l_contact_point_list(i).TELEPHONE_TYPE := p_organization_obj.phone_objs(i).PHONE_LINE_TYPE;
2116 l_contact_point_list(i).TIME_ZONE := p_organization_obj.phone_objs(i).TIMEZONE_ID;
2117 -- Per DQM, flex_formatted_phone_number is the concate of country code, area code and phone number
2118 if p_organization_obj.phone_objs(i).PHONE_NUMBER is not null
2119 then
2120 l_contact_point_list(i).FLEX_FORMAT_PHONE_NUMBER := p_organization_obj.phone_objs(i).PHONE_COUNTRY_CODE ||p_organization_obj.phone_objs(i).PHONE_AREA_CODE||p_organization_obj.phone_objs(i).PHONE_NUMBER;
2121
2122 elsif l_contact_point_list(i).RAW_PHONE_NUMBER is not null
2123 then
2124 hz_contact_point_v2pub.phone_format (
2125 p_raw_phone_number => p_organization_obj.phone_objs(i).RAW_PHONE_NUMBER,
2126 p_territory_code => p_organization_obj.phone_objs(i).PHONE_COUNTRY_CODE,
2127 x_formatted_phone_number => l_contact_point_list(i).FLEX_FORMAT_PHONE_NUMBER,
2128 x_phone_country_code => l_contact_point_list(i).PHONE_COUNTRY_CODE,
2129 x_phone_area_code => l_contact_point_list(i).PHONE_AREA_CODE,
2130 x_phone_number => l_contact_point_list(i).PHONE_NUMBER,
2131 x_return_status => x_return_status,
2132 x_msg_count => x_msg_count,
2133 x_msg_data => x_msg_data);
2134 l_contact_point_list(i).FLEX_FORMAT_PHONE_NUMBER := l_contact_point_list(i).PHONE_COUNTRY_CODE ||l_contact_point_list(i).PHONE_AREA_CODE||l_contact_point_list(i).PHONE_NUMBER;
2135
2136 end if;
2137
2138 IF fnd_log.level_statement>=fnd_log.g_current_runtime_level THEN
2139 hz_utility_v2pub.debug(p_message=>'l_contact_point_list('||i||').flex_format_phone_number: '||l_contact_point_list(i).FLEX_FORMAT_PHONE_NUMBER,p_prefix=>'DEBUG: ',p_msg_level=>fnd_log.level_statement, p_module=>'HZ_Module.enableDQ');
2140 hz_utility_v2pub.debug(p_message=>'l_contact_point_list('||i||').phone_number: '||l_contact_point_list(i).PHONE_NUMBER,p_prefix=>'DEBUG: ',p_msg_level=>fnd_log.level_statement, p_module=>'HZ_Module.enableDQ');
2141 END IF;
2142
2143 end loop;
2144 end if;
2145
2146 l_cpt_count := l_contact_point_list.COUNT;
2147 IF((p_organization_obj.email_objs IS NOT NULL) AND (p_organization_obj.email_objs.COUNT > 0))
2148 then
2149 for i in 1..p_organization_obj.email_objs.COUNT loop
2150 l_contact_point_list(i).CPT_SOURCE_SYSTEM_REF := p_organization_obj.phone_objs(i).orig_system|| ' ' ||p_organization_obj.phone_objs(i).orig_system_reference||' ';
2151 l_contact_point_list(l_cpt_count+i).CONTACT_POINT_TYPE := 'EMAIL';
2152 l_contact_point_list(l_cpt_count+i).PRIMARY_FLAG := p_organization_obj.email_objs(i).PRIMARY_FLAG;
2153 l_contact_point_list(l_cpt_count+i).STATUS := p_organization_obj.email_objs(i).STATUS;
2154 l_contact_point_list(l_cpt_count+i).CONTACT_POINT_PURPOSE := p_organization_obj.email_objs(i).CONTACT_POINT_PURPOSE;
2155 l_contact_point_list(l_cpt_count+i).EMAIL_ADDRESS := p_organization_obj.email_objs(i).EMAIL_ADDRESS;
2156 l_contact_point_list(l_cpt_count+i).EMAIL_FORMAT := p_organization_obj.email_objs(i).EMAIL_FORMAT;
2157
2158 end loop;
2159 end if;
2160
2161 l_cpt_count := l_contact_point_list.COUNT;
2162 IF((p_organization_obj.web_objs IS NOT NULL) AND (p_organization_obj.web_objs.COUNT > 0))
2163 then
2164 for i in 1..p_organization_obj.web_objs.COUNT loop
2165 l_contact_point_list(i).CPT_SOURCE_SYSTEM_REF := p_organization_obj.phone_objs(i).orig_system|| ' ' ||p_organization_obj.phone_objs(i).orig_system_reference||' ';
2166 l_contact_point_list(l_cpt_count+i).CONTACT_POINT_TYPE := 'WEB';
2167 l_contact_point_list(l_cpt_count+i).PRIMARY_FLAG := p_organization_obj.web_objs(i).PRIMARY_FLAG;
2168 l_contact_point_list(l_cpt_count+i).STATUS := p_organization_obj.web_objs(i).STATUS;
2169 l_contact_point_list(l_cpt_count+i).CONTACT_POINT_PURPOSE := p_organization_obj.web_objs(i).CONTACT_POINT_PURPOSE;
2170 l_contact_point_list(l_cpt_count+i).URL := p_organization_obj.web_objs(i).URL ;
2171 l_contact_point_list(l_cpt_count+i).WEB_TYPE := p_organization_obj.web_objs(i).WEB_TYPE;
2172
2173 end loop;
2174 end if;
2175
2176 l_cpt_count := l_contact_point_list.COUNT;
2177 IF((p_organization_obj.telex_objs IS NOT NULL) AND (p_organization_obj.telex_objs.COUNT > 0))
2178 then
2179 for i in 1..p_organization_obj.telex_objs.COUNT loop
2180 l_contact_point_list(i).CPT_SOURCE_SYSTEM_REF := p_organization_obj.phone_objs(i).orig_system|| ' ' ||p_organization_obj.phone_objs(i).orig_system_reference||' ';
2181 l_contact_point_list(l_cpt_count+i).CONTACT_POINT_TYPE := 'TLX';
2182 l_contact_point_list(l_cpt_count+i).PRIMARY_FLAG := p_organization_obj.telex_objs(i).PRIMARY_FLAG;
2183 l_contact_point_list(l_cpt_count+i).STATUS := p_organization_obj.telex_objs(i).STATUS;
2184 l_contact_point_list(l_cpt_count+i).CONTACT_POINT_PURPOSE := p_organization_obj.telex_objs(i).CONTACT_POINT_PURPOSE;
2185 end loop;
2186 end if;
2187
2188 l_cpt_count := l_contact_point_list.COUNT;
2189 IF((p_organization_obj.edi_objs IS NOT NULL) AND (p_organization_obj.edi_objs.COUNT > 0))
2190 then
2191 for i in 1..p_organization_obj.edi_objs.COUNT loop
2192 l_contact_point_list(i).CPT_SOURCE_SYSTEM_REF := p_organization_obj.phone_objs(i).orig_system|| ' ' ||p_organization_obj.phone_objs(i).orig_system_reference||' ';
2193 l_contact_point_list(l_cpt_count+i).CONTACT_POINT_TYPE := 'EDI';
2194 l_contact_point_list(l_cpt_count+i).PRIMARY_FLAG := p_organization_obj.edi_objs(i).PRIMARY_FLAG;
2195 l_contact_point_list(l_cpt_count+i).STATUS := p_organization_obj.edi_objs(i).STATUS;
2196 l_contact_point_list(l_cpt_count+i).EDI_ECE_TP_LOCATION_CODE := P_ORGANIZATION_OBJ.EDI_OBJS(I).EDI_ECE_TP_LOCATION_CODE;
2197 l_contact_point_list(l_cpt_count+i).EDI_ID_NUMBER := P_ORGANIZATION_OBJ.EDI_OBJS(I).EDI_ID_NUMBER;
2198 l_contact_point_list(l_cpt_count+i).EDI_PAYMENT_FORMAT := P_ORGANIZATION_OBJ.EDI_OBJS(I).EDI_PAYMENT_FORMAT;
2199 l_contact_point_list(l_cpt_count+i).EDI_PAYMENT_METHOD := P_ORGANIZATION_OBJ.EDI_OBJS(I).EDI_PAYMENT_METHOD;
2200 l_contact_point_list(l_cpt_count+i).EDI_REMITTANCE_INSTRUCTION := P_ORGANIZATION_OBJ.EDI_OBJS(I).EDI_REMITTANCE_INSTRUCTION;
2201 l_contact_point_list(l_cpt_count+i).EDI_REMITTANCE_METHOD := P_ORGANIZATION_OBJ.EDI_OBJS(I).EDI_REMITTANCE_METHOD;
2202 l_contact_point_list(l_cpt_count+i).EDI_TP_HEADER_ID := P_ORGANIZATION_OBJ.EDI_OBJS(I).EDI_TP_HEADER_ID;
2203 l_contact_point_list(l_cpt_count+i).EDI_TRANSACTION_HANDLING := P_ORGANIZATION_OBJ.EDI_OBJS(I).EDI_TRANSACTION_HANDLING;
2204 end loop;
2205 end if;
2206
2207 IF fnd_log.level_statement>=fnd_log.g_current_runtime_level THEN
2208 hz_utility_v2pub.debug(p_message=>'Calling DQM API HZ_PARTY_SEARCH.find_parties ',p_prefix=>'DEBUG: ',p_msg_level=>fnd_log.level_statement, p_module=>'HZ_Module.enableDQ');
2209 hz_utility_v2pub.debug(p_message=>'HZ_PARTY_SEARCH.find_parties Start time: '||TO_CHAR(SYSDATE, 'MM-DD-YY HH24:MI:SS'),p_prefix=>'DEBUG: ',p_msg_level=>fnd_log.level_statement, p_module=>'HZ_Module.enableDQ');
2210 END IF;
2211
2212 HZ_PARTY_SEARCH.find_parties (
2213 p_init_msg_list => FND_API.G_FALSE,
2214 x_rule_id => l_match_rule_id,
2215 p_party_search_rec => l_party_search_rec,
2216 p_party_site_list => l_party_site_list,
2217 p_contact_list => l_contact_list,
2218 p_contact_point_list=> l_contact_point_list,
2219 p_restrict_sql => null,
2220 p_search_merged => 'N', -- return only active
2221 x_search_ctx_id => l_search_ctx_id,
2222 x_num_matches => l_num_matches,
2223 x_return_status => x_return_status,
2224 x_msg_count => x_msg_count,
2225 x_msg_data => x_msg_data
2226
2227 );
2228
2229 IF fnd_log.level_statement>=fnd_log.g_current_runtime_level THEN
2230 hz_utility_v2pub.debug(p_message=>'HZ_PARTY_SEARCH.find_parties end time: '||TO_CHAR(SYSDATE, 'MM-DD-YY HH24:MI:SS'),p_prefix=>'DEBUG: ',p_msg_level=>fnd_log.level_statement, p_module=>'HZ_Module.enableDQ');
2231 hz_utility_v2pub.debug(p_message=>'return status of find_parties: '||x_return_status,p_prefix=>'DEBUG: ',p_msg_level=>fnd_log.level_statement, p_module=>'HZ_Module.enableDQ');
2232 hz_utility_v2pub.debug(p_message=>'search_ctx_id: '||l_search_ctx_id,p_prefix=>'DEBUG: ',p_msg_level=>fnd_log.level_statement, p_module=>'HZ_Module.enableDQ');
2233 if l_num_matches = 0
2234 then
2235 hz_utility_v2pub.debug(p_message=>'# of Matches: '||l_num_matches,p_prefix=>'DEBUG: ',p_msg_level=>fnd_log.level_statement, p_module=>'HZ_Module.enableDQ');
2236 end if;
2237 END IF;
2238
2239 if l_num_matches > 0 then
2240
2241 hz_dup_pvt.get_most_matching_party(p_search_ctx_id => l_search_ctx_id,
2242 p_new_party_id => x_organization_id,
2243 x_party_id => l_party_id,
2244 x_match_score => l_match_score,
2245 x_party_name => l_party_name);
2246 if l_party_id is null
2247 then
2248 IF fnd_log.level_statement>=fnd_log.g_current_runtime_level THEN
2249 hz_utility_v2pub.debug(p_message=>'# of Matches: 0 ',p_prefix=>'DEBUG: ',p_msg_level=>fnd_log.level_statement, p_module=>'HZ_Module.enableDQ');
2250 end if;
2251 else
2252
2253 IF fnd_log.level_statement>=fnd_log.g_current_runtime_level THEN
2254 hz_utility_v2pub.debug(p_message=>'# of Matches: '||l_num_matches,p_prefix=>'DEBUG: ',p_msg_level=>fnd_log.level_statement, p_module=>'HZ_Module.enableDQ');
2255 hz_utility_v2pub.debug(p_message=>'Most matching Party Id: '||l_party_id,p_prefix=>'DEBUG: ',p_msg_level=>fnd_log.level_statement, p_module=>'HZ_Module.enableDQ');
2256 hz_utility_v2pub.debug(p_message=>'Most matching Party Name: '||l_party_name,p_prefix=>'DEBUG: ',p_msg_level=>fnd_log.level_statement, p_module=>'HZ_Module.enableDQ');
2257 hz_utility_v2pub.debug(p_message=>'Match score: '||l_match_score,p_prefix=>'DEBUG: ',p_msg_level=>fnd_log.level_statement, p_module=>'HZ_Module.enableDQ');
2258 END IF;
2259
2260 hz_dup_pvt.get_match_rule_thresholds(p_match_rule_id => l_match_rule_id,
2261 x_match_threshold => l_match_threshold,
2262 x_automerge_threshold => l_automerge_threshold);
2263
2264 IF fnd_log.level_statement>=fnd_log.g_current_runtime_level THEN
2265 hz_utility_v2pub.debug(p_message=>'Match Threshold: '||l_match_threshold,p_prefix=>'DEBUG: ',p_msg_level=>fnd_log.level_statement, p_module=>'HZ_Module.enableDQ');
2266 hz_utility_v2pub.debug(p_message=>'Automerge Threshold: '||l_automerge_threshold,p_prefix=>'DEBUG: ',p_msg_level=>fnd_log.level_statement, p_module=>'HZ_Module.enableDQ');
2267
2268 END IF;
2269
2270 if l_match_score >= l_match_threshold
2271 then
2272 hz_dup_pvt.validate_master_party_id(px_party_id => l_party_id,
2273 x_overlap_merge_req_id => l_overlap_merge_req_id);
2274
2275
2276
2277 if l_overlap_merge_req_id is not null
2278 then
2279 l_tmp_score := l_match_score;
2280 begin
2281 SELECT score, party_name into l_match_score, l_party_name
2282 FROM hz_matched_parties_gt mpg, hz_parties p
2283 WHERE mpg.party_id = p.party_id
2284 and mpg.party_id = l_party_id
2285 and mpg.search_context_id = l_search_ctx_id
2286 and rownum = 1;
2287 EXCEPTION
2288 WHEN NO_DATA_FOUND THEN
2289 l_match_score := 0;
2290 IF fnd_log.level_statement>=fnd_log.g_current_runtime_level THEN
2291 hz_utility_v2pub.debug(p_message=>'The changed party is not a duplicate with the newly created party' ,p_prefix=>'DEBUG: ',p_msg_level=>fnd_log.level_statement, p_module=>'HZ_Module.enableDQ');
2292 end if;
2293 END;
2294 IF l_match_score > 0 and fnd_log.level_statement>=fnd_log.g_current_runtime_level THEN
2295 hz_utility_v2pub.debug(p_message=>'Winner Party ID is changed. Overlapping Merge Req ID: '||l_overlap_merge_req_id,p_prefix=>'DEBUG: ',p_msg_level=>fnd_log.level_statement, p_module=>'HZ_Module.enableDQ');
2296
2297 hz_utility_v2pub.debug(p_message=>'Winner Party Id: '||l_party_id,p_prefix=>'DEBUG: ',p_msg_level=>fnd_log.level_statement, p_module=>'HZ_Module.enableDQ');
2298 hz_utility_v2pub.debug(p_message=>'Winner Party Id match score: '||l_match_score,p_prefix=>'DEBUG: ',p_msg_level=>fnd_log.level_statement, p_module=>'HZ_Module.enableDQ');
2299 end if;
2300 END IF;
2301
2302 if l_match_score >= l_match_threshold
2303 then -- match score might get reset due to overlapping req, need to check this again.
2304
2305 l_dup_batch_rec.dup_batch_name := l_party_name||'-'|| to_char(sysdate);
2306 l_dup_batch_rec.match_rule_id := l_match_rule_id;
2307 l_dup_batch_rec.application_id := 222;
2308 l_dup_batch_rec.request_type := 'USER_ENTERED';
2309 l_dup_batch_id := NULL;
2310 l_dup_set_rec.winner_party_id := l_party_id;
2311 l_dup_set_rec.status := 'SYSBATCH';
2312 l_dup_set_rec.assigned_to_user_id := fnd_global.user_id;
2313 l_dup_set_rec.merge_type := 'PARTY_MERGE';
2314
2315 l_dup_party_tbl(1).party_id := l_party_id;
2316 l_dup_party_tbl(1).score := l_match_score;
2317 l_dup_party_tbl(1).merge_flag := 'Y';
2318
2319 l_dup_party_tbl(2).party_id := x_organization_id; -- newly created org id
2320 l_dup_party_tbl(2).score := 0;
2321 l_dup_party_tbl(2).merge_flag := 'Y';
2322
2323 HZ_DUP_PVT.create_dup_batch(
2324 p_dup_batch_rec => l_dup_batch_rec
2325 ,p_dup_set_rec => l_dup_set_rec
2326 ,p_dup_party_tbl => l_dup_party_tbl
2327 ,x_dup_batch_id => l_dup_batch_id
2328 ,x_dup_set_id => l_dup_set_id
2329 ,x_return_status => x_return_status
2330 ,x_msg_count => x_msg_count
2331 ,x_msg_data => x_msg_data );
2332
2333
2334 IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
2335 RAISE FND_API.G_EXC_ERROR;
2336 END IF;
2337
2338 IF fnd_log.level_statement>=fnd_log.g_current_runtime_level THEN
2339 hz_utility_v2pub.debug(p_message=>'Created dup batch: dup_set_id: '||l_dup_set_id,p_prefix=>'DEBUG: ',p_msg_level=>fnd_log.level_statement, p_module=>'HZ_Module.enableDQ');
2340
2341 END IF;
2342
2343
2344 if l_dup_set_id is not null
2345 then
2346 if l_match_score < l_automerge_threshold -- create merge request
2347 then
2348 hz_dup_pvt.submit_dup (
2349 p_dup_set_id => l_dup_set_id
2350 ,x_request_id => l_request_id
2351 ,x_return_status => x_return_status
2352 ,x_msg_count => x_msg_count
2353 ,x_msg_data => x_msg_data);
2354
2355 IF fnd_log.level_statement>=fnd_log.g_current_runtime_level THEN
2356 hz_utility_v2pub.debug(p_message=>'Merge Request Created with merge request id: '||l_dup_set_id,p_prefix=>'DEBUG: ',p_msg_level=>fnd_log.level_statement, p_module=>'HZ_Module.enableDQ');
2357 hz_utility_v2pub.debug(p_message=>'Create Merge Request conc request id: '||l_request_id,p_prefix=>'DEBUG: ',p_msg_level=>fnd_log.level_statement, p_module=>'HZ_Module.enableDQ');
2358
2359 end if;
2360 end if; --if l_match_score < l_automerge_threshold
2361 end if; --if l_match_score >= l_match_threshold then
2362
2363 if l_match_score >= l_automerge_threshold
2364 then
2365 open get_obj_version_csr(l_dup_set_id);
2366 fetch get_obj_version_csr into l_object_version_number;
2367 close get_obj_version_csr;
2368
2369 hz_merge_dup_pvt.Create_Merge_Batch( -- need to create merge in real time.
2370 p_dup_set_id => l_dup_set_id,
2371 p_default_mapping => 'Y',
2372 p_object_version_number => l_object_version_number,
2373 x_merge_batch_id => l_batch_id,
2374 x_return_status => x_return_status,
2375 x_msg_count => x_msg_count,
2376 x_msg_data => x_msg_data);
2377
2378
2379 --submit Party Merge concurrent program
2380 hz_merge_dup_pvt.submit_batch(
2381 p_batch_id => l_dup_set_id,
2382 p_preview => 'N',
2383 x_request_id => l_request_id,
2384 x_return_status => x_return_status,
2385 x_msg_count => x_msg_count,
2386 x_msg_data => x_msg_data);
2387 IF fnd_log.level_statement>=fnd_log.g_current_runtime_level THEN
2388 hz_utility_v2pub.debug(p_message=>'Party Merge request status: '||x_return_status,p_prefix=>'DEBUG: ',p_msg_level=>fnd_log.level_statement, p_module=>'HZ_Module.enableDQ');
2389 hz_utility_v2pub.debug(p_message=>'Party Merge request submitted with conc request_id: '||l_request_id,p_prefix=>'DEBUG: ',p_msg_level=>fnd_log.level_statement, p_module=>'HZ_Module.enableDQ');
2390 end if;
2391
2392 end if; -- if l_match_score >= l_automerge_threshold
2393 end if; --if l_dup_set_id is not null
2394 end if; -- if l_match_score >= l_match_threshold
2395 end if; -- if l_party_id = x_organization_id
2396 end if; -- if l_num_matches > 0 then
2397 IF fnd_log.level_statement>=fnd_log.g_current_runtime_level THEN
2398 hz_utility_v2pub.debug(p_message=>'Enable DQ on Integration Services: End ',p_prefix=>'DEBUG: ',p_msg_level=>fnd_log.level_statement, p_module=>'HZ_Module.enableDQ');
2399 end if;
2400 end if; -- if nvl(fnd_profile.value('HZ_BO_ENABLE_DQ'),'N') = 'Y'
2401 -- reset Global variable
2402 HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
2403 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := NULL;
2404
2405 -- Debug info.
2406 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
2407 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
2408 p_msg_data=>x_msg_data,
2409 p_msg_type=>'WARNING',
2410 p_msg_level=>fnd_log.level_exception);
2411 END IF;
2412 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2413 hz_utility_v2pub.debug(p_message=>'create_organization_bo(-)',
2414 p_prefix=>l_debug_prefix,
2415 p_msg_level=>fnd_log.level_procedure);
2416 END IF;
2417
2418 EXCEPTION
2419 WHEN fnd_api.g_exc_error THEN
2420 ROLLBACK TO do_create_organization_bo_pub;
2421
2422 -- reset Global variable
2423 HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
2424 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := NULL;
2425
2426 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
2427 FND_MESSAGE.SET_TOKEN('OBJECT', 'ORG');
2428 FND_MSG_PUB.ADD;
2429
2430 x_return_status := fnd_api.g_ret_sts_error;
2431
2432 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
2433 p_count => x_msg_count,
2434 p_data => x_msg_data);
2435
2436 -- Debug info.
2437 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
2438 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
2439 p_msg_data=>x_msg_data,
2440 p_msg_type=>'ERROR',
2441 p_msg_level=>fnd_log.level_error);
2442 END IF;
2443 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2444 hz_utility_v2pub.debug(p_message=>'do_create_organization_bo(-)',
2445 p_prefix=>l_debug_prefix,
2446 p_msg_level=>fnd_log.level_procedure);
2447 END IF;
2448
2449 WHEN fnd_api.g_exc_unexpected_error THEN
2450 ROLLBACK TO do_create_organization_bo_pub;
2451
2452 -- reset Global variable
2453 HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
2454 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := NULL;
2455
2456 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
2457 FND_MESSAGE.SET_TOKEN('OBJECT', 'ORG');
2458 FND_MSG_PUB.ADD;
2459
2460 x_return_status := fnd_api.g_ret_sts_unexp_error;
2461
2462 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
2463 p_count => x_msg_count,
2464 p_data => x_msg_data);
2465
2466 -- Debug info.
2467 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
2468 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
2469 p_msg_data=>x_msg_data,
2470 p_msg_type=>'UNEXPECTED ERROR',
2471 p_msg_level=>fnd_log.level_error);
2472 END IF;
2473 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2474 hz_utility_v2pub.debug(p_message=>'do_create_organization_bo(-)',
2475 p_prefix=>l_debug_prefix,
2476 p_msg_level=>fnd_log.level_procedure);
2477 END IF;
2478
2479 WHEN OTHERS THEN
2480 ROLLBACK TO do_create_organization_bo_pub;
2481
2482 -- reset Global variable
2483 HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
2484 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := NULL;
2485
2486 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
2487 FND_MESSAGE.SET_TOKEN('OBJECT', 'ORG');
2488 FND_MSG_PUB.ADD;
2489
2490 x_return_status := fnd_api.g_ret_sts_unexp_error;
2491
2492 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
2493 fnd_message.set_token('ERROR' ,SQLERRM);
2494 fnd_msg_pub.add;
2495
2496 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
2497 p_count => x_msg_count,
2498 p_data => x_msg_data);
2499
2500 -- Debug info.
2501 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
2502 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
2503 p_msg_data=>x_msg_data,
2504 p_msg_type=>'SQL ERROR',
2505 p_msg_level=>fnd_log.level_error);
2506 END IF;
2507 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2508 hz_utility_v2pub.debug(p_message=>'do_create_organization_bo(-)',
2509 p_prefix=>l_debug_prefix,
2510 p_msg_level=>fnd_log.level_procedure);
2511 END IF;
2512 END do_create_organization_bo;
2513
2514 PROCEDURE create_organization_bo(
2515 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
2516 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
2517 p_organization_obj IN HZ_ORGANIZATION_BO,
2518 p_created_by_module IN VARCHAR2,
2519 x_return_status OUT NOCOPY VARCHAR2,
2520 x_msg_count OUT NOCOPY NUMBER,
2521 x_msg_data OUT NOCOPY VARCHAR2,
2522 x_organization_id OUT NOCOPY NUMBER,
2523 x_organization_os OUT NOCOPY VARCHAR2,
2524 x_organization_osr OUT NOCOPY VARCHAR2
2525 ) IS
2526 l_org_obj HZ_ORGANIZATION_BO;
2527 BEGIN
2528 l_org_obj := p_organization_obj;
2529 do_create_organization_bo(
2530 p_init_msg_list => p_init_msg_list,
2531 p_validate_bo_flag => p_validate_bo_flag,
2532 p_organization_obj => l_org_obj,
2533 p_created_by_module => p_created_by_module,
2534 p_obj_source => null,
2535 x_return_status => x_return_status,
2536 x_msg_count => x_msg_count,
2537 x_msg_data => x_msg_data,
2538 x_organization_id => x_organization_id,
2539 x_organization_os => x_organization_os,
2540 x_organization_osr => x_organization_osr
2541 );
2542 END create_organization_bo;
2543
2544 PROCEDURE create_organization_bo(
2545 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
2546 p_organization_obj IN HZ_ORGANIZATION_BO,
2547 p_created_by_module IN VARCHAR2,
2548 p_obj_source IN VARCHAR2 := null,
2549 p_return_obj_flag IN VARCHAR2 := fnd_api.g_true,
2550 x_return_status OUT NOCOPY VARCHAR2,
2551 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL,
2552 x_return_obj OUT NOCOPY HZ_ORGANIZATION_BO,
2553 x_organization_id OUT NOCOPY NUMBER,
2554 x_organization_os OUT NOCOPY VARCHAR2,
2555 x_organization_osr OUT NOCOPY VARCHAR2
2556 ) IS
2557 l_msg_data VARCHAR2(2000);
2558 l_msg_count NUMBER;
2559 l_org_obj HZ_ORGANIZATION_BO;
2560 BEGIN
2561 l_org_obj := p_organization_obj;
2562 do_create_organization_bo(
2563 p_init_msg_list => fnd_api.g_true,
2564 p_validate_bo_flag => p_validate_bo_flag,
2565 p_organization_obj => l_org_obj,
2566 p_created_by_module => p_created_by_module,
2567 p_obj_source => p_obj_source,
2568 x_return_status => x_return_status,
2569 x_msg_count => l_msg_count,
2570 x_msg_data => l_msg_data,
2571 x_organization_id => x_organization_id,
2572 x_organization_os => x_organization_os,
2573 x_organization_osr => x_organization_osr
2574 );
2575 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
2576 x_return_status => x_return_status,
2577 x_msg_count => l_msg_count,
2578 x_msg_data => l_msg_data);
2579 IF FND_API.to_Boolean(p_return_obj_flag) THEN
2580 x_return_obj := l_org_obj;
2581 END IF;
2582 END create_organization_bo;
2583
2584 -- PROCEDURE do_update_organization_bo
2585 --
2586 -- DESCRIPTION
2587 -- Update organization business object.
2588 PROCEDURE do_update_organization_bo(
2589 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
2590 p_organization_obj IN OUT NOCOPY HZ_ORGANIZATION_BO,
2591 p_created_by_module IN VARCHAR2,
2592 p_obj_source IN VARCHAR2 := null,
2593 x_return_status OUT NOCOPY VARCHAR2,
2594 x_msg_count OUT NOCOPY NUMBER,
2595 x_msg_data OUT NOCOPY VARCHAR2,
2596 x_organization_id OUT NOCOPY NUMBER,
2597 x_organization_os OUT NOCOPY VARCHAR2,
2598 x_organization_osr OUT NOCOPY VARCHAR2
2599 )IS
2600 l_debug_prefix VARCHAR2(30);
2601 l_organization_rec HZ_PARTY_V2PUB.ORGANIZATION_REC_TYPE;
2602 l_create_update_flag VARCHAR2(1);
2603 l_ovn NUMBER;
2604 l_dummy_id NUMBER;
2605 l_profile_id NUMBER;
2606 l_errorcode NUMBER;
2607 l_org_raise_event BOOLEAN := FALSE;
2608 l_oc_raise_event BOOLEAN := FALSE;
2609 l_cbm VARCHAR2(30);
2610 l_org_event_id NUMBER;
2611 l_oc_event_id NUMBER;
2612 l_sms_objs HZ_SMS_CP_BO_TBL;
2613 l_party_number VARCHAR2(30);
2614
2615 CURSOR get_ovn(l_party_id NUMBER) IS
2616 SELECT p.object_version_number, p.party_number
2617 FROM HZ_PARTIES p
2618 WHERE p.party_id = l_party_id
2619 AND p.party_type = 'ORGANIZATION'
2620 AND p.status in ('A','I');
2621
2622 BEGIN
2623 -- Standard start of API savepoint
2624 SAVEPOINT do_update_organization_bo_pub;
2625
2626 -- initialize API return status to success.
2627 x_return_status := FND_API.G_RET_STS_SUCCESS;
2628
2629 -- Initialize message list if p_init_msg_list is set to TRUE.
2630 IF FND_API.to_Boolean(p_init_msg_list) THEN
2631 FND_MSG_PUB.initialize;
2632 END IF;
2633
2634 -- initialize Global variable
2635 HZ_UTILITY_V2PUB.G_CALLING_API := 'BO_API';
2636 IF(p_created_by_module IS NULL) THEN
2637 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := 'BO_API';
2638 ELSE
2639 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := p_created_by_module;
2640 END IF;
2641
2642 -- Debug info.
2643 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2644 hz_utility_v2pub.debug(p_message=>'update_organization_bo(+)',
2645 p_prefix=>l_debug_prefix,
2646 p_msg_level=>fnd_log.level_procedure);
2647 END IF;
2648
2649 x_organization_id := p_organization_obj.organization_id;
2650 x_organization_os := p_organization_obj.orig_system;
2651 x_organization_osr:= p_organization_obj.orig_system_reference;
2652
2653 -- check input party_id and os+osr
2654 hz_registry_validate_bo_pvt.validate_ssm_id(
2655 px_id => x_organization_id,
2656 px_os => x_organization_os,
2657 px_osr => x_organization_osr,
2658 p_obj_type => 'ORGANIZATION',
2659 p_create_or_update => 'U',
2660 x_return_status => x_return_status,
2661 x_msg_count => x_msg_count,
2662 x_msg_data => x_msg_data);
2663
2664 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2665 RAISE FND_API.G_EXC_ERROR;
2666 END IF;
2667
2668 -- must check after calling validate_ssm_id because
2669 -- if user pass os+osr and no id, validate_ssm_id will
2670 -- populate x_organization_id based on os+osr
2671 -- find out if raise event at the end
2672
2673 -- if this procedure is called from org cust bo, set l_raise_event to false
2674 -- otherwise, call is_raising_update_event
2675 IF(HZ_PARTY_BO_PVT.G_CALL_UPDATE_CUST_BO IS NOT NULL) THEN
2676 l_org_raise_event := FALSE;
2677 l_oc_raise_event := FALSE;
2678 ELSE
2679 l_org_raise_event := HZ_PARTY_BO_PVT.is_raising_update_event(
2680 p_party_id => x_organization_id,
2681 p_bo_code => 'ORG'
2682 );
2683
2684 l_oc_raise_event := HZ_PARTY_BO_PVT.is_raising_update_event(
2685 p_party_id => x_organization_id,
2686 p_bo_code => 'ORG_CUST'
2687 );
2688
2689 IF(l_org_raise_event) THEN
2690 -- Get event_id for org
2691 SELECT HZ_BUS_OBJ_TRACKING_S.nextval
2692 INTO l_org_event_id
2693 FROM DUAL;
2694 END IF;
2695
2696 IF(l_oc_raise_event) THEN
2697 -- Get event_id for org customer
2698 SELECT HZ_BUS_OBJ_TRACKING_S.nextval
2699 INTO l_oc_event_id
2700 FROM DUAL;
2701 END IF;
2702 END IF;
2703
2704 OPEN get_ovn(x_organization_id);
2705 FETCH get_ovn INTO l_ovn, l_party_number;
2706 CLOSE get_ovn;
2707
2708 --------------------------
2709 -- For Update Organization
2710 --------------------------
2711 -- Assign organization record
2712 assign_organization_rec(
2713 p_organization_obj => p_organization_obj,
2714 p_organization_id => x_organization_id,
2715 p_organization_os => x_organization_os,
2716 p_organization_osr => x_organization_osr,
2717 p_create_or_update => 'U',
2718 px_organization_rec => l_organization_rec
2719 );
2720
2721 HZ_PARTY_V2PUB.update_organization(
2722 p_organization_rec => l_organization_rec,
2723 p_party_object_version_number => l_ovn,
2724 x_profile_id => l_profile_id,
2725 x_return_status => x_return_status,
2726 x_msg_count => x_msg_count,
2727 x_msg_data => x_msg_data
2728 );
2729
2730 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2731 RAISE FND_API.G_EXC_ERROR;
2732 END IF;
2733
2734 -- assign organization party_id
2735 p_organization_obj.organization_id := x_organization_id;
2736 p_organization_obj.party_number := l_party_number;
2737 -----------------------------
2738 -- For Organization Ext Attrs
2739 -----------------------------
2740 IF((p_organization_obj.ext_attributes_objs IS NOT NULL) AND
2741 (p_organization_obj.ext_attributes_objs.COUNT > 0)) THEN
2742 HZ_EXT_ATTRIBUTE_BO_PVT.save_ext_attributes(
2743 p_ext_attr_objs => p_organization_obj.ext_attributes_objs,
2744 p_parent_obj_id => l_profile_id,
2745 p_parent_obj_type => 'ORG',
2746 p_create_or_update => 'U',
2747 x_return_status => x_return_status,
2748 x_errorcode => l_errorcode,
2749 x_msg_count => x_msg_count,
2750 x_msg_data => x_msg_data
2751 );
2752
2753 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2754 RAISE FND_API.G_EXC_ERROR;
2755 END IF;
2756 END IF;
2757
2758 ----------------------------
2759 -- Party Preferences
2760 ----------------------------
2761 IF((p_organization_obj.preference_objs IS NOT NULL) AND
2762 (p_organization_obj.preference_objs.COUNT > 0)) THEN
2763 HZ_PARTY_BO_PVT.save_party_preferences(
2764 p_party_pref_objs => p_organization_obj.preference_objs,
2765 p_party_id => x_organization_id,
2766 x_return_status => x_return_status,
2767 x_msg_count => x_msg_count,
2768 x_msg_data => x_msg_data
2769 );
2770
2771 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2772 RAISE FND_API.G_EXC_ERROR;
2773 END IF;
2774 END IF;
2775
2776 ----------------------------
2777 -- Contact Preferences
2778 ----------------------------
2779 IF((p_organization_obj.contact_pref_objs IS NOT NULL) AND
2780 (p_organization_obj.contact_pref_objs.COUNT > 0)) THEN
2781 HZ_CONTACT_PREFERENCE_BO_PVT.save_contact_preferences(
2782 p_cp_pref_objs => p_organization_obj.contact_pref_objs,
2783 p_contact_level_table_id => x_organization_id,
2784 p_contact_level_table => 'HZ_PARTIES',
2785 x_return_status => x_return_status,
2786 x_msg_count => x_msg_count,
2787 x_msg_data => x_msg_data
2788 );
2789
2790 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2791 RAISE FND_API.G_EXC_ERROR;
2792 END IF;
2793 END IF;
2794
2795 ----------------------------
2796 -- Relationship api
2797 ----------------------------
2798 IF((p_organization_obj.relationship_objs IS NOT NULL) AND
2799 (p_organization_obj.relationship_objs.COUNT > 0)) THEN
2800 HZ_PARTY_BO_PVT.save_relationships(
2801 p_rel_objs => p_organization_obj.relationship_objs,
2802 p_subject_id => x_organization_id,
2803 p_subject_type => 'ORGANIZATION',
2804 x_return_status => x_return_status,
2805 x_msg_count => x_msg_count,
2806 x_msg_data => x_msg_data
2807 );
2808
2809 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2810 RAISE FND_API.G_EXC_ERROR;
2811 END IF;
2812 END IF;
2813
2814 ----------------------------
2815 -- Classification api
2816 ----------------------------
2817 IF((p_organization_obj.class_objs IS NOT NULL) AND
2818 (p_organization_obj.class_objs.COUNT > 0)) THEN
2819 HZ_PARTY_BO_PVT.save_classifications(
2820 p_code_assign_objs => p_organization_obj.class_objs,
2821 p_owner_table_name => 'HZ_PARTIES',
2822 p_owner_table_id => x_organization_id,
2823 x_return_status => x_return_status,
2824 x_msg_count => x_msg_count,
2825 x_msg_data => x_msg_data
2826 );
2827
2828 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2829 RAISE FND_API.G_EXC_ERROR;
2830 END IF;
2831 END IF;
2832
2833 l_cbm := HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE;
2834
2835 -----------------------------
2836 -- Create logical org contact
2837 -----------------------------
2838 IF((p_organization_obj.contact_objs IS NOT NULL) AND
2839 (p_organization_obj.contact_objs.COUNT > 0)) THEN
2840 HZ_ORG_CONTACT_BO_PVT.save_org_contacts(
2841 p_oc_objs => p_organization_obj.contact_objs,
2842 p_create_update_flag => 'U',
2843 x_return_status => x_return_status,
2844 x_msg_count => x_msg_count,
2845 x_msg_data => x_msg_data,
2846 p_parent_org_id => x_organization_id,
2847 p_parent_org_os => x_organization_os,
2848 p_parent_org_osr => x_organization_osr
2849 );
2850
2851 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2852 RAISE FND_API.G_EXC_ERROR;
2853 END IF;
2854 END IF;
2855
2856 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := l_cbm;
2857
2858 -----------------
2859 -- For Party Site
2860 -----------------
2861 IF((p_organization_obj.party_site_objs IS NOT NULL) AND
2862 (p_organization_obj.party_site_objs.COUNT > 0)) THEN
2863 HZ_PARTY_SITE_BO_PVT.save_party_sites(
2864 p_ps_objs => p_organization_obj.party_site_objs,
2865 p_create_update_flag => 'U',
2866 p_obj_source => p_obj_source,
2867 x_return_status => x_return_status,
2868 x_msg_count => x_msg_count,
2869 x_msg_data => x_msg_data,
2870 p_parent_id => x_organization_id,
2871 p_parent_os => x_organization_os,
2872 p_parent_osr => x_organization_osr,
2873 p_parent_obj_type => 'ORG'
2874 );
2875
2876 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2877 RAISE FND_API.G_EXC_ERROR;
2878 END IF;
2879 END IF;
2880
2881 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := l_cbm;
2882
2883 ---------------------
2884 -- For Contact Points
2885 ---------------------
2886 IF(((p_organization_obj.phone_objs IS NOT NULL) AND (p_organization_obj.phone_objs.COUNT > 0)) OR
2887 ((p_organization_obj.telex_objs IS NOT NULL) AND (p_organization_obj.telex_objs.COUNT > 0)) OR
2888 ((p_organization_obj.email_objs IS NOT NULL) AND (p_organization_obj.email_objs.COUNT > 0)) OR
2889 ((p_organization_obj.web_objs IS NOT NULL) AND (p_organization_obj.web_objs.COUNT > 0)) OR
2890 ((p_organization_obj.edi_objs IS NOT NULL) AND (p_organization_obj.edi_objs.COUNT > 0)) OR
2891 ((p_organization_obj.eft_objs IS NOT NULL) AND (p_organization_obj.eft_objs.COUNT > 0))) THEN
2892 HZ_CONTACT_POINT_BO_PVT.save_contact_points(
2893 p_phone_objs => p_organization_obj.phone_objs,
2894 p_telex_objs => p_organization_obj.telex_objs,
2895 p_email_objs => p_organization_obj.email_objs,
2896 p_web_objs => p_organization_obj.web_objs,
2897 p_edi_objs => p_organization_obj.edi_objs,
2898 p_eft_objs => p_organization_obj.eft_objs,
2899 p_sms_objs => l_sms_objs,
2900 p_owner_table_id => x_organization_id,
2901 p_owner_table_os => x_organization_os,
2902 p_owner_table_osr => x_organization_osr,
2903 p_parent_obj_type => 'ORG',
2904 p_create_update_flag => 'U',
2905 p_obj_source => p_obj_source,
2906 x_return_status => x_return_status,
2907 x_msg_count => x_msg_count,
2908 x_msg_data => x_msg_data
2909 );
2910
2911 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2912 RAISE FND_API.G_EXC_ERROR;
2913 END IF;
2914 END IF;
2915
2916 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := l_cbm;
2917
2918 ---------------------
2919 -- Certifications
2920 ---------------------
2921 IF((p_organization_obj.certification_objs IS NOT NULL) AND
2922 (p_organization_obj.certification_objs.COUNT > 0)) THEN
2923 HZ_PARTY_BO_PVT.save_certifications(
2924 p_cert_objs => p_organization_obj.certification_objs,
2925 p_party_id => x_organization_id,
2926 x_return_status => x_return_status,
2927 x_msg_count => x_msg_count,
2928 x_msg_data => x_msg_data
2929 );
2930
2931 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2932 RAISE FND_API.G_EXC_ERROR;
2933 END IF;
2934 END IF;
2935
2936 ---------------------
2937 -- Financial Profiles
2938 ---------------------
2939 IF((p_organization_obj.financial_prof_objs IS NOT NULL) AND
2940 (p_organization_obj.financial_prof_objs.COUNT > 0)) THEN
2941 HZ_PARTY_BO_PVT.save_financial_profiles(
2942 p_fin_prof_objs => p_organization_obj.financial_prof_objs,
2943 p_party_id => x_organization_id,
2944 x_return_status => x_return_status,
2945 x_msg_count => x_msg_count,
2946 x_msg_data => x_msg_data
2947 );
2948
2949 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2950 RAISE FND_API.G_EXC_ERROR;
2951 END IF;
2952 END IF;
2953
2954
2955 ----------------------------------
2956 -- Party Usages -------
2957 ----------------------------------
2958 IF ((p_organization_obj.party_usage_objs IS NOT NULL) AND
2959 (p_organization_obj.party_usage_objs.COUNT > 0 )) THEN
2960 HZ_PARTY_BO_PVT.save_party_usage_assgmnt(
2961 p_party_usg_objs => p_organization_obj.party_usage_objs,
2962 p_party_id => x_organization_id,
2963 x_return_status => x_return_status,
2964 x_msg_count => x_msg_count,
2965 x_msg_data => x_msg_data
2966 );
2967 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2968 RAISE FND_API.G_EXC_ERROR;
2969 END IF;
2970 END IF;
2971
2972
2973 ----------------------------
2974 -- Credit Ratings
2975 ----------------------------
2976 IF((p_organization_obj.credit_rating_objs IS NOT NULL) AND
2977 (p_organization_obj.credit_rating_objs.COUNT > 0)) THEN
2978 save_credit_ratings(
2979 p_credit_rating_objs => p_organization_obj.credit_rating_objs,
2980 p_organization_id => x_organization_id,
2981 x_return_status => x_return_status,
2982 x_msg_count => x_msg_count,
2983 x_msg_data => x_msg_data
2984 );
2985
2986 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2987 RAISE FND_API.G_EXC_ERROR;
2988 END IF;
2989 END IF;
2990
2991 ----------------------------
2992 -- Financial Reports
2993 ----------------------------
2994 IF((p_organization_obj.financial_report_objs IS NOT NULL) AND
2995 (p_organization_obj.financial_report_objs.COUNT > 0)) THEN
2996 save_financial_reports(
2997 p_fin_objs => p_organization_obj.financial_report_objs,
2998 p_organization_id => x_organization_id,
2999 x_return_status => x_return_status,
3000 x_msg_count => x_msg_count,
3001 x_msg_data => x_msg_data
3002 );
3003
3004 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3005 RAISE FND_API.G_EXC_ERROR;
3006 END IF;
3007 END IF;
3008
3009 -- raise update org event
3010 IF(l_org_raise_event) THEN
3011 HZ_PARTY_BO_PVT.call_bes(
3012 p_party_id => x_organization_id,
3013 p_bo_code => 'ORG',
3014 p_create_or_update => 'U',
3015 p_obj_source => p_obj_source,
3016 p_event_id => l_org_event_id
3017 );
3018 END IF;
3019
3020 -- raise update org cust event
3021 IF(l_oc_raise_event) THEN
3022 HZ_PARTY_BO_PVT.call_bes(
3023 p_party_id => x_organization_id,
3024 p_bo_code => 'ORG_CUST',
3025 p_create_or_update => 'U',
3026 p_obj_source => p_obj_source,
3027 p_event_id => l_oc_event_id
3028 );
3029 END IF;
3030
3031 -- reset Global variable
3032 HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
3033 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := NULL;
3034
3035 -- Debug info.
3036 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
3037 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3038 p_msg_data=>x_msg_data,
3039 p_msg_type=>'WARNING',
3040 p_msg_level=>fnd_log.level_exception);
3041 END IF;
3042 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3043 hz_utility_v2pub.debug(p_message=>'do_update_organization_bo(-)',
3044 p_prefix=>l_debug_prefix,
3045 p_msg_level=>fnd_log.level_procedure);
3046 END IF;
3047 EXCEPTION
3048 WHEN fnd_api.g_exc_error THEN
3049 ROLLBACK TO do_update_organization_bo_pub;
3050
3051 -- reset Global variable
3052 HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
3053 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := NULL;
3054
3055 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
3056 FND_MESSAGE.SET_TOKEN('OBJECT', 'ORG');
3057 FND_MSG_PUB.ADD;
3058
3059 x_return_status := fnd_api.g_ret_sts_error;
3060
3061 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
3062 p_count => x_msg_count,
3063 p_data => x_msg_data);
3064
3065 -- Debug info.
3066 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
3067 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3068 p_msg_data=>x_msg_data,
3069 p_msg_type=>'ERROR',
3070 p_msg_level=>fnd_log.level_error);
3071 END IF;
3072 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3073 hz_utility_v2pub.debug(p_message=>'do_update_organization_bo(-)',
3074 p_prefix=>l_debug_prefix,
3075 p_msg_level=>fnd_log.level_procedure);
3076 END IF;
3077
3078
3079 WHEN fnd_api.g_exc_unexpected_error THEN
3080 ROLLBACK TO do_update_organization_bo_pub;
3081
3082 -- reset Global variable
3083 HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
3084 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := NULL;
3085
3086 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
3087 FND_MESSAGE.SET_TOKEN('OBJECT', 'ORG');
3088 FND_MSG_PUB.ADD;
3089
3090 x_return_status := fnd_api.g_ret_sts_unexp_error;
3091
3092 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
3093 p_count => x_msg_count,
3094 p_data => x_msg_data);
3095
3096 -- Debug info.
3097 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
3098 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3099 p_msg_data=>x_msg_data,
3100 p_msg_type=>'UNEXPECTED ERROR',
3101 p_msg_level=>fnd_log.level_error);
3102 END IF;
3103 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3104 hz_utility_v2pub.debug(p_message=>'do_update_organization_bo(-)',
3105 p_prefix=>l_debug_prefix,
3106 p_msg_level=>fnd_log.level_procedure);
3107 END IF;
3108 WHEN OTHERS THEN
3109 ROLLBACK TO do_update_organization_bo_pub;
3110
3111 -- reset Global variable
3112 HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
3113 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := NULL;
3114
3115 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
3116 FND_MESSAGE.SET_TOKEN('OBJECT', 'ORG');
3117 FND_MSG_PUB.ADD;
3118
3119 x_return_status := fnd_api.g_ret_sts_unexp_error;
3120
3121 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
3122 fnd_message.set_token('ERROR' ,SQLERRM);
3123 fnd_msg_pub.add;
3124
3125 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
3126 p_count => x_msg_count,
3127 p_data => x_msg_data);
3128
3129 -- Debug info.
3130 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
3131 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3132 p_msg_data=>x_msg_data,
3133 p_msg_type=>'SQL ERROR',
3134 p_msg_level=>fnd_log.level_error);
3135 END IF;
3136 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3137 hz_utility_v2pub.debug(p_message=>'do_update_organization_bo(-)',
3138 p_prefix=>l_debug_prefix,
3139 p_msg_level=>fnd_log.level_procedure);
3140 END IF;
3141 END do_update_organization_bo;
3142
3143 PROCEDURE update_organization_bo(
3144 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
3145 p_organization_obj IN HZ_ORGANIZATION_BO,
3146 p_created_by_module IN VARCHAR2,
3147 x_return_status OUT NOCOPY VARCHAR2,
3148 x_msg_count OUT NOCOPY NUMBER,
3149 x_msg_data OUT NOCOPY VARCHAR2,
3150 x_organization_id OUT NOCOPY NUMBER,
3151 x_organization_os OUT NOCOPY VARCHAR2,
3152 x_organization_osr OUT NOCOPY VARCHAR2
3153 ) IS
3154 l_org_obj HZ_ORGANIZATION_BO;
3155 BEGIN
3156 l_org_obj := p_organization_obj;
3157 do_update_organization_bo(
3158 p_init_msg_list => p_init_msg_list,
3159 p_organization_obj => l_org_obj,
3160 p_created_by_module => p_created_by_module,
3161 p_obj_source => NULL,
3162 x_return_status => x_return_status,
3163 x_msg_count => x_msg_count,
3164 x_msg_data => x_msg_data,
3165 x_organization_id => x_organization_id,
3166 x_organization_os => x_organization_os,
3167 x_organization_osr => x_organization_osr
3168 );
3169 END update_organization_bo;
3170
3171 PROCEDURE update_organization_bo(
3172 p_organization_obj IN HZ_ORGANIZATION_BO,
3173 p_created_by_module IN VARCHAR2,
3174 p_obj_source IN VARCHAR2 := null,
3175 p_return_obj_flag IN VARCHAR2 := fnd_api.g_true,
3176 x_return_status OUT NOCOPY VARCHAR2,
3177 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL,
3178 x_return_obj OUT NOCOPY HZ_ORGANIZATION_BO,
3179 x_organization_id OUT NOCOPY NUMBER,
3180 x_organization_os OUT NOCOPY VARCHAR2,
3181 x_organization_osr OUT NOCOPY VARCHAR2
3182 )IS
3183 l_msg_data VARCHAR2(2000);
3184 l_msg_count NUMBER;
3185 l_org_obj HZ_ORGANIZATION_BO;
3186 BEGIN
3187 l_org_obj := p_organization_obj;
3188 do_update_organization_bo(
3189 p_init_msg_list => fnd_api.g_true,
3190 p_organization_obj => l_org_obj,
3191 p_created_by_module => p_created_by_module,
3192 p_obj_source => p_obj_source,
3193 x_return_status => x_return_status,
3194 x_msg_count => l_msg_count,
3195 x_msg_data => l_msg_data,
3196 x_organization_id => x_organization_id,
3197 x_organization_os => x_organization_os,
3198 x_organization_osr => x_organization_osr
3199 );
3200 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
3201 x_return_status => x_return_status,
3202 x_msg_count => l_msg_count,
3203 x_msg_data => l_msg_data);
3204 IF FND_API.to_Boolean(p_return_obj_flag) THEN
3205 x_return_obj := l_org_obj;
3206 END IF;
3207 END update_organization_bo;
3208
3209 -- PROCEDURE do_save_organization_bo
3210 --
3211 -- DESCRIPTION
3212 -- Create or update organization business object.
3213 PROCEDURE do_save_organization_bo(
3214 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
3215 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
3216 p_organization_obj IN OUT NOCOPY HZ_ORGANIZATION_BO,
3217 p_created_by_module IN VARCHAR2,
3218 p_obj_source IN VARCHAR2 := null,
3219 x_return_status OUT NOCOPY VARCHAR2,
3220 x_msg_count OUT NOCOPY NUMBER,
3221 x_msg_data OUT NOCOPY VARCHAR2,
3222 x_organization_id OUT NOCOPY NUMBER,
3223 x_organization_os OUT NOCOPY VARCHAR2,
3224 x_organization_osr OUT NOCOPY VARCHAR2
3225 ) IS
3226 l_return_status VARCHAR2(30);
3227 l_msg_count NUMBER;
3228 l_msg_data VARCHAR2(2000);
3229 l_create_update_flag VARCHAR2(1);
3230 l_debug_prefix VARCHAR2(30);
3231 BEGIN
3232 -- initialize API return status to success.
3233 x_return_status := FND_API.G_RET_STS_SUCCESS;
3234
3235 -- Initialize message list if p_init_msg_list is set to TRUE.
3236 IF FND_API.to_Boolean(p_init_msg_list) THEN
3237 FND_MSG_PUB.initialize;
3238 END IF;
3239
3240 -- Debug info.
3241 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3242 hz_utility_v2pub.debug(p_message=>'do_save_organization_bo(+)',
3243 p_prefix=>l_debug_prefix,
3244 p_msg_level=>fnd_log.level_procedure);
3245 END IF;
3246
3247 x_organization_id := p_organization_obj.organization_id;
3248 x_organization_os := p_organization_obj.orig_system;
3249 x_organization_osr:= p_organization_obj.orig_system_reference;
3250
3251 -- check root business object to determine that it should be
3252 -- create or update, call HZ_REGISTRY_VALIDATE_BO_PVT
3253 l_create_update_flag := HZ_REGISTRY_VALIDATE_BO_PVT.check_bo_op(
3254 p_entity_id => x_organization_id,
3255 p_entity_os => x_organization_os,
3256 p_entity_osr => x_organization_osr,
3257 p_entity_type => 'HZ_PARTIES',
3258 p_parent_id => NULL,
3259 p_parent_obj_type=> NULL );
3260
3261 IF(l_create_update_flag = 'E') THEN
3262 FND_MESSAGE.SET_NAME('AR', 'HZ_API_INVALID_ID');
3263 FND_MSG_PUB.ADD;
3264 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
3265 FND_MESSAGE.SET_TOKEN('OBJECT', 'ORG');
3266 FND_MSG_PUB.ADD;
3267 RAISE FND_API.G_EXC_ERROR;
3268 END IF;
3269
3270 IF(l_create_update_flag = 'C') THEN
3271 do_create_organization_bo(
3272 p_init_msg_list => fnd_api.g_false,
3273 p_validate_bo_flag => p_validate_bo_flag,
3274 p_organization_obj => p_organization_obj,
3275 p_created_by_module => p_created_by_module,
3276 p_obj_source => p_obj_source,
3277 x_return_status => x_return_status,
3278 x_msg_count => x_msg_count,
3279 x_msg_data => x_msg_data,
3280 x_organization_id => x_organization_id,
3281 x_organization_os => x_organization_os,
3282 x_organization_osr => x_organization_osr
3283 );
3284 ELSIF(l_create_update_flag = 'U') THEN
3285 do_update_organization_bo(
3286 p_init_msg_list => fnd_api.g_false,
3287 p_organization_obj => p_organization_obj,
3288 p_created_by_module => p_created_by_module,
3289 p_obj_source => p_obj_source,
3290 x_return_status => x_return_status,
3291 x_msg_count => x_msg_count,
3292 x_msg_data => x_msg_data,
3293 x_organization_id => x_organization_id,
3294 x_organization_os => x_organization_os,
3295 x_organization_osr => x_organization_osr
3296 );
3297 ELSE
3298 RAISE FND_API.G_EXC_ERROR;
3299 END IF;
3300
3301 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3302 RAISE FND_API.G_EXC_ERROR;
3303 END IF;
3304
3305 -- Debug info.
3306 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
3307 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3308 p_msg_data=>x_msg_data,
3309 p_msg_type=>'WARNING',
3310 p_msg_level=>fnd_log.level_exception);
3311 END IF;
3312 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3313 hz_utility_v2pub.debug(p_message=>'do_save_organization_bo(-)',
3314 p_prefix=>l_debug_prefix,
3315 p_msg_level=>fnd_log.level_procedure);
3316 END IF;
3317 EXCEPTION
3318 WHEN fnd_api.g_exc_error THEN
3319 x_return_status := fnd_api.g_ret_sts_error;
3320
3321 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
3322 p_count => x_msg_count,
3323 p_data => x_msg_data);
3324
3325 -- Debug info.
3326 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
3327 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3328 p_msg_data=>x_msg_data,
3329 p_msg_type=>'ERROR',
3330 p_msg_level=>fnd_log.level_error);
3331 END IF;
3332 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3333 hz_utility_v2pub.debug(p_message=>'do_save_organization_bo(-)',
3334 p_prefix=>l_debug_prefix,
3335 p_msg_level=>fnd_log.level_procedure);
3336 END IF;
3337
3338 WHEN fnd_api.g_exc_unexpected_error THEN
3339 x_return_status := fnd_api.g_ret_sts_unexp_error;
3340
3341 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
3342 p_count => x_msg_count,
3343 p_data => x_msg_data);
3344
3345 -- Debug info.
3346 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
3347 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3348 p_msg_data=>x_msg_data,
3349 p_msg_type=>'UNEXPECTED ERROR',
3350 p_msg_level=>fnd_log.level_error);
3351 END IF;
3352 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3353 hz_utility_v2pub.debug(p_message=>'do_save_organization_bo(-)',
3354 p_prefix=>l_debug_prefix,
3355 p_msg_level=>fnd_log.level_procedure);
3356 END IF;
3357 WHEN OTHERS THEN
3358 x_return_status := fnd_api.g_ret_sts_unexp_error;
3359
3360 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
3361 fnd_message.set_token('ERROR' ,SQLERRM);
3362 fnd_msg_pub.add;
3363
3364 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
3365 p_count => x_msg_count,
3366 p_data => x_msg_data);
3367
3368 -- Debug info.
3369 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
3370 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3371 p_msg_data=>x_msg_data,
3372 p_msg_type=>'SQL ERROR',
3373 p_msg_level=>fnd_log.level_error);
3374 END IF;
3375 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3376 hz_utility_v2pub.debug(p_message=>'do_save_organization_bo(-)',
3377 p_prefix=>l_debug_prefix,
3378 p_msg_level=>fnd_log.level_procedure);
3379 END IF;
3380 END do_save_organization_bo;
3381
3382 PROCEDURE save_organization_bo(
3383 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
3384 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
3385 p_organization_obj IN HZ_ORGANIZATION_BO,
3386 p_created_by_module IN VARCHAR2,
3387 x_return_status OUT NOCOPY VARCHAR2,
3388 x_msg_count OUT NOCOPY NUMBER,
3389 x_msg_data OUT NOCOPY VARCHAR2,
3390 x_organization_id OUT NOCOPY NUMBER,
3391 x_organization_os OUT NOCOPY VARCHAR2,
3392 x_organization_osr OUT NOCOPY VARCHAR2
3393 ) IS
3394 l_org_obj HZ_ORGANIZATION_BO;
3395 BEGIN
3396 l_org_obj := p_organization_obj;
3397 do_save_organization_bo(
3398 p_init_msg_list => p_init_msg_list,
3399 p_validate_bo_flag => p_validate_bo_flag,
3400 p_organization_obj => l_org_obj,
3401 p_created_by_module => p_created_by_module,
3402 p_obj_source => null,
3403 x_return_status => x_return_status,
3404 x_msg_count => x_msg_count,
3405 x_msg_data => x_msg_data,
3406 x_organization_id => x_organization_id,
3407 x_organization_os => x_organization_os,
3408 x_organization_osr => x_organization_osr
3409 );
3410 END save_organization_bo;
3411
3412 PROCEDURE save_organization_bo(
3413 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
3414 p_organization_obj IN HZ_ORGANIZATION_BO,
3415 p_created_by_module IN VARCHAR2,
3416 p_obj_source IN VARCHAR2 := null,
3417 p_return_obj_flag IN VARCHAR2 := fnd_api.g_true,
3418 x_return_status OUT NOCOPY VARCHAR2,
3419 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL,
3420 x_return_obj OUT NOCOPY HZ_ORGANIZATION_BO,
3421 x_organization_id OUT NOCOPY NUMBER,
3422 x_organization_os OUT NOCOPY VARCHAR2,
3423 x_organization_osr OUT NOCOPY VARCHAR2
3424 ) IS
3425 l_msg_data VARCHAR2(2000);
3426 l_msg_count NUMBER;
3427 l_org_obj HZ_ORGANIZATION_BO;
3428 BEGIN
3429 l_org_obj := p_organization_obj;
3430 do_save_organization_bo(
3431 p_init_msg_list => fnd_api.g_true,
3432 p_validate_bo_flag => p_validate_bo_flag,
3433 p_organization_obj => l_org_obj,
3434 p_created_by_module => p_created_by_module,
3435 p_obj_source => p_obj_source,
3436 x_return_status => x_return_status,
3437 x_msg_count => l_msg_count,
3438 x_msg_data => l_msg_data,
3439 x_organization_id => x_organization_id,
3440 x_organization_os => x_organization_os,
3441 x_organization_osr => x_organization_osr
3442 );
3443 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
3444 x_return_status => x_return_status,
3445 x_msg_count => l_msg_count,
3446 x_msg_data => l_msg_data);
3447 IF FND_API.to_Boolean(p_return_obj_flag) THEN
3448 x_return_obj := l_org_obj;
3449 END IF;
3450 END save_organization_bo;
3451
3452 --------------------------------------
3453 --
3454 -- PROCEDURE get_organization_bo
3455 --
3456 -- DESCRIPTION
3457 -- Get a logical organization.
3458 --
3459 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
3460 --
3461 -- ARGUMENTS
3462 -- IN:
3463 -- p_init_msg_list Initialize message stack if it is set to FND_API.G_TRUE. Default is FND_API.G_FALSE.
3464 -- p_organization_id Organization ID.
3465 -- p_person_os Org orig system.
3466 -- p_person_osr Org orig system reference.
3467 -- OUT:
3468 -- x_organization_obj Logical organization record.
3469 -- x_return_status Return status after the call. The status can
3470 -- be fnd_api.g_ret_sts_success (success),
3471 -- fnd_api.g_ret_sts_error (error),
3472 -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
3473 -- x_msg_count Number of messages in message stack.
3474 -- x_msg_data Message text if x_msg_count is 1.
3475 --
3476 -- NOTES
3477 --
3478 -- MODIFICATION HISTORY
3479 --
3480 --
3481 -- 06-JUN-2005 AWU Created.
3482 --
3483
3484 /*
3485 The Get Organization API Procedure is a retrieval service that returns a full Organization business object.
3486 The user identifies a particular Organization business object using the TCA identifier and/or
3487 the object Source System information. Upon proper validation of the object,
3488 the full Organization business object is returned. The object consists of all data included within
3489 the Organization business object, at all embedded levels. This includes the set of all data stored
3490 in the TCA tables for each embedded entity.
3491
3492 To retrieve the appropriate embedded business objects within the Organization business object,
3493 the Get procedure calls the equivalent procedure for the following embedded objects:
3494
3495 Embedded BO Mandatory Multiple Logical API Procedure Comments
3496 Org Contact N Y get_contact_bo
3497 Party Site N Y get_party_site_bo
3498 Phone N Y get_phone_bo
3499 Telex N Y get_telex_bo
3500 Email N Y get_email_bo
3501 Web N Y get_web_bo
3502 EDI N Y get_edi_bo
3503 EFT N Y get_eft_bo
3504 Financial Report N Y Business Structure. Included entities: HZ_FINANCIAL_REPORTS, HZ_FINANCIAL_NUMBERS
3505
3506
3507 To retrieve the appropriate embedded entities within the Organization business object,
3508 the Get procedure returns all records for the particular organization from these TCA entity tables:
3509
3510 Embedded TCA Entity Mandatory Multiple TCA Table Entities
3511
3512 Party, Org Profile Y N HZ_PARTIES, HZ_ORGANIZATION_PROFILES
3513 Org Preference N Y HZ_PARTY_PREFERENCES
3514 Relationship N Y HZ_RELATIONSHIPS
3515 Classification N Y HZ_CODE_ASSIGNMENTS
3516 Credit Rating N Y HZ_CREDIT_RATINGS
3517 Certification N Y HZ_CERTIFICATIONS
3518 Financial Profile N Y HZ_FINANCIAL_PROFILE
3519
3520 */
3521
3522
3523 PROCEDURE get_organization_bo(
3524 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
3525 p_organization_id IN NUMBER,
3526 p_organization_os IN VARCHAR2,
3527 p_organization_osr IN VARCHAR2,
3528 x_organization_obj OUT NOCOPY HZ_ORGANIZATION_BO,
3529 x_return_status OUT NOCOPY VARCHAR2,
3530 x_msg_count OUT NOCOPY NUMBER,
3531 x_msg_data OUT NOCOPY VARCHAR2
3532 ) is
3533 l_debug_prefix VARCHAR2(30) := '';
3534
3535 l_organization_id number;
3536 l_organization_os varchar2(30);
3537 l_organization_osr varchar2(255);
3538 BEGIN
3539
3540 -- initialize API return status to success.
3541 x_return_status := FND_API.G_RET_STS_SUCCESS;
3542
3543 -- Initialize message list if p_init_msg_list is set to TRUE
3544 IF FND_API.to_Boolean(p_init_msg_list) THEN
3545 FND_MSG_PUB.initialize;
3546 END IF;
3547
3548
3549 -- Debug info.
3550 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3551 hz_utility_v2pub.debug(p_message=>'hz_organization_bo_pub.get_organization_bo(+)',
3552 p_prefix=>l_debug_prefix,
3553 p_msg_level=>fnd_log.level_procedure);
3554 END IF;
3555
3556 -- check if pass in contact_point_id and/or os+osr
3557 -- extraction validation logic is same as update
3558
3559 l_organization_id := p_organization_id;
3560 l_organization_os := p_organization_os;
3561 l_organization_osr := p_organization_osr;
3562
3563 HZ_EXTRACT_BO_UTIL_PVT.validate_ssm_id(
3564 px_id => l_organization_id,
3565 px_os => l_organization_os,
3566 px_osr => l_organization_osr,
3567 p_obj_type => 'ORGANIZATION',
3568 x_return_status => x_return_status,
3569 x_msg_count => x_msg_count,
3570 x_msg_data => x_msg_data);
3571
3572 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3573 RAISE fnd_api.g_exc_error;
3574 END IF;
3575
3576 HZ_EXTRACT_ORGANIZATION_BO_PVT.get_organization_bo(
3577 p_init_msg_list => fnd_api.g_false,
3578 p_organization_id => l_organization_id,
3579 p_action_type => NULL,
3580 x_organization_obj => x_organization_obj,
3581 x_return_status => x_return_status,
3582 x_msg_count => x_msg_count,
3583 x_msg_data => x_msg_data);
3584
3585 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3586 RAISE FND_API.G_EXC_ERROR;
3587 END IF;
3588
3589
3590 -- Debug info.
3591 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
3592 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3593 p_msg_data=>x_msg_data,
3594 p_msg_type=>'WARNING',
3595 p_msg_level=>fnd_log.level_exception);
3596 END IF;
3597
3598 -- Debug info.
3599 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3600 hz_utility_v2pub.debug(p_message=>'hz_organization_bo_pub.get_organization_bo (-)',
3601 p_prefix=>l_debug_prefix,
3602 p_msg_level=>fnd_log.level_procedure);
3603 END IF;
3604
3605
3606 EXCEPTION
3607
3608 WHEN fnd_api.g_exc_error THEN
3609 x_return_status := fnd_api.g_ret_sts_error;
3610
3611 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
3612 p_count => x_msg_count,
3613 p_data => x_msg_data);
3614
3615 -- Debug info.
3616 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
3617 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3618 p_msg_data=>x_msg_data,
3619 p_msg_type=>'ERROR',
3620 p_msg_level=>fnd_log.level_error);
3621 END IF;
3622 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3623 hz_utility_v2pub.debug(p_message=>'hz_organization_bo_pub.get_organization_bo (-)',
3624 p_prefix=>l_debug_prefix,
3625 p_msg_level=>fnd_log.level_procedure);
3626 END IF;
3627 WHEN fnd_api.g_exc_unexpected_error THEN
3628 x_return_status := fnd_api.g_ret_sts_unexp_error;
3629
3630 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
3631 p_count => x_msg_count,
3632 p_data => x_msg_data);
3633
3634 -- Debug info.
3635 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
3636 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3637 p_msg_data=>x_msg_data,
3638 p_msg_type=>'UNEXPECTED ERROR',
3639 p_msg_level=>fnd_log.level_error);
3640 END IF;
3641 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3642 hz_utility_v2pub.debug(p_message=>'hz_organization_bo_pub.get_organization_bo (-)',
3643 p_prefix=>l_debug_prefix,
3644 p_msg_level=>fnd_log.level_procedure);
3645 END IF;
3646 WHEN OTHERS THEN
3647 x_return_status := fnd_api.g_ret_sts_unexp_error;
3648
3649 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
3650 fnd_message.set_token('ERROR' ,SQLERRM);
3651 fnd_msg_pub.add;
3652
3653 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
3654 p_count => x_msg_count,
3655 p_data => x_msg_data);
3656
3657 -- Debug info.
3658 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
3659 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3660 p_msg_data=>x_msg_data,
3661 p_msg_type=>'SQL ERROR',
3662 p_msg_level=>fnd_log.level_error);
3663 END IF;
3664 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3665 hz_utility_v2pub.debug(p_message=>'hz_organization_bo_pub.get_organization_bo (-)',
3666 p_prefix=>l_debug_prefix,
3667 p_msg_level=>fnd_log.level_procedure);
3668 END IF;
3669
3670 end;
3671
3672 PROCEDURE get_organization_bo(
3673 p_organization_id IN NUMBER,
3674 p_organization_os IN VARCHAR2,
3675 p_organization_osr IN VARCHAR2,
3676 x_organization_obj OUT NOCOPY HZ_ORGANIZATION_BO,
3677 x_return_status OUT NOCOPY VARCHAR2,
3678 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL
3679 ) IS
3680 l_msg_data VARCHAR2(2000);
3681 l_msg_count NUMBER;
3682 BEGIN
3683 get_organization_bo(
3684 p_init_msg_list => fnd_api.g_true,
3685 p_organization_id => p_organization_id,
3686 p_organization_os => p_organization_os,
3687 p_organization_osr => p_organization_osr,
3688 x_organization_obj => x_organization_obj,
3689 x_return_status => x_return_status,
3690 x_msg_count => l_msg_count,
3691 x_msg_data => l_msg_data
3692 );
3693 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
3694 x_return_status => x_return_status,
3695 x_msg_count => l_msg_count,
3696 x_msg_data => l_msg_data);
3697 END get_organization_bo;
3698
3699 --------------------------------------
3700 --
3701 -- PROCEDURE get_organizations_created
3702 --
3703 -- DESCRIPTION
3704 --The caller provides an identifier for the Organizations created business event and
3705 --the procedure returns database objects of the type HZ_ORGANIZATION_BO for all of
3706 --the Organization business objects from the business event.
3707
3708 --
3709 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
3710 --
3711 -- ARGUMENTS
3712 -- IN:
3713 -- p_init_msg_list Initialize message stack if it is set to
3714 -- p_event_id BES Event identifier.
3715 -- FND_API.G_TRUE. Default is FND_API.G_FALSE.
3716 -- OUT:
3717 -- x_organization_objs One or more created logical organization.
3718 -- x_return_status Return status after the call. The status can
3719 -- be fnd_api.g_ret_sts_success (success),
3720 -- fnd_api.g_ret_sts_error (error),
3721 -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
3722 -- x_msg_count Number of messages in message stack.
3723 -- x_msg_data Message text if x_msg_count is 1.
3724 --
3725 -- NOTES
3726 --
3727 -- MODIFICATION HISTORY
3728 --
3729 -- 06-JUN-2005 AWU Created.
3730 --
3731
3732
3733
3734 /*
3735 The Get Organizations Created procedure is a service to retrieve all of the Organization business objects
3736 whose creations have been captured by a logical business event. Each Organizations Created
3737 business event signifies that one or more Organization business objects have been created.
3738 The caller provides an identifier for the Organizations Created business event and the procedure
3739 returns all of the Organization business objects from the business event. For each business object
3740 creation captured in the business event, the procedure calls the generic Get operation:
3741 HZ_ORGANIZATION_BO_PVT.get_organization_bo
3742
3743 Gathering all of the returned business objects from those API calls, the procedure packages
3744 them in a table structure and returns them to the caller.
3745 */
3746
3747
3748 PROCEDURE get_organizations_created(
3749 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
3750 p_event_id IN NUMBER,
3751 x_organization_objs OUT NOCOPY HZ_ORGANIZATION_BO_TBL,
3752 x_return_status OUT NOCOPY VARCHAR2,
3753 x_msg_count OUT NOCOPY NUMBER,
3754 x_msg_data OUT NOCOPY VARCHAR2
3755 ) is
3756 l_debug_prefix VARCHAR2(30) := '';
3757 begin
3758
3759 -- initialize API return status to success.
3760 x_return_status := FND_API.G_RET_STS_SUCCESS;
3761
3762 -- Initialize message list if p_init_msg_list is set to TRUE
3763 IF FND_API.to_Boolean(p_init_msg_list) THEN
3764 FND_MSG_PUB.initialize;
3765 END IF;
3766
3767
3768 -- Debug info.
3769 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3770 hz_utility_v2pub.debug(p_message=>'hz_organization_bo_pub.get_organizations_created(+)',
3771 p_prefix=>l_debug_prefix,
3772 p_msg_level=>fnd_log.level_procedure);
3773 END IF;
3774
3775 HZ_EXTRACT_BO_UTIL_PVT.validate_event_id(p_event_id => p_event_id,
3776 p_party_id => null,
3777 p_event_type => 'C',
3778 p_bo_code => 'ORG',
3779 x_return_status => x_return_status);
3780
3781 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3782 RAISE FND_API.G_EXC_ERROR;
3783 END IF;
3784
3785 HZ_EXTRACT_ORGANIZATION_BO_PVT.get_organizations_created(
3786 p_init_msg_list => fnd_api.g_false,
3787 p_event_id => p_event_id,
3788 x_organization_objs => x_organization_objs,
3789 x_return_status => x_return_status,
3790 x_msg_count => x_msg_count,
3791 x_msg_data => x_msg_data);
3792
3793 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3794 RAISE FND_API.G_EXC_ERROR;
3795 END IF;
3796
3797
3798
3799 -- Debug info.
3800 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
3801 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3802 p_msg_data=>x_msg_data,
3803 p_msg_type=>'WARNING',
3804 p_msg_level=>fnd_log.level_exception);
3805 END IF;
3806
3807 -- Debug info.
3808 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3809 hz_utility_v2pub.debug(p_message=>'hz_organization_bo_pub.get_organizations_created (-)',
3810 p_prefix=>l_debug_prefix,
3811 p_msg_level=>fnd_log.level_procedure);
3812 END IF;
3813
3814
3815 EXCEPTION
3816
3817 WHEN fnd_api.g_exc_error THEN
3818 x_return_status := fnd_api.g_ret_sts_error;
3819
3820 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
3821 p_count => x_msg_count,
3822 p_data => x_msg_data);
3823
3824 -- Debug info.
3825 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
3826 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3827 p_msg_data=>x_msg_data,
3828 p_msg_type=>'ERROR',
3829 p_msg_level=>fnd_log.level_error);
3830 END IF;
3831 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3832 hz_utility_v2pub.debug(p_message=>'hz_organization_bo_pub.get_organizations_created(-)',
3833 p_prefix=>l_debug_prefix,
3834 p_msg_level=>fnd_log.level_procedure);
3835 END IF;
3836 WHEN fnd_api.g_exc_unexpected_error THEN
3837 x_return_status := fnd_api.g_ret_sts_unexp_error;
3838
3839 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
3840 p_count => x_msg_count,
3841 p_data => x_msg_data);
3842
3843 -- Debug info.
3844 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
3845 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3846 p_msg_data=>x_msg_data,
3847 p_msg_type=>'UNEXPECTED ERROR',
3848 p_msg_level=>fnd_log.level_error);
3849 END IF;
3850 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3851 hz_utility_v2pub.debug(p_message=>'hz_organization_bo_pub.get_organizations_created(-)',
3852 p_prefix=>l_debug_prefix,
3853 p_msg_level=>fnd_log.level_procedure);
3854 END IF;
3855 WHEN OTHERS THEN
3856 x_return_status := fnd_api.g_ret_sts_unexp_error;
3857
3858 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
3859 fnd_message.set_token('ERROR' ,SQLERRM);
3860 fnd_msg_pub.add;
3861
3862 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
3863 p_count => x_msg_count,
3864 p_data => x_msg_data);
3865
3866 -- Debug info.
3867 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
3868 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3869 p_msg_data=>x_msg_data,
3870 p_msg_type=>'SQL ERROR',
3871 p_msg_level=>fnd_log.level_error);
3872 END IF;
3873 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3874 hz_utility_v2pub.debug(p_message=>'hz_organization_bo_pub.get_organizations_created(-)',
3875 p_prefix=>l_debug_prefix,
3876 p_msg_level=>fnd_log.level_procedure);
3877 END IF;
3878
3879 end;
3880
3881 PROCEDURE get_organizations_created(
3882 p_event_id IN NUMBER,
3883 x_organization_objs OUT NOCOPY HZ_ORGANIZATION_BO_TBL,
3884 x_return_status OUT NOCOPY VARCHAR2,
3885 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL
3886 ) is
3887 l_msg_data VARCHAR2(2000);
3888 l_msg_count NUMBER;
3889 BEGIN
3890 get_organizations_created(
3891 p_init_msg_list => fnd_api.g_true,
3892 p_event_id => p_event_id,
3893 x_organization_objs => x_organization_objs,
3894 x_return_status => x_return_status,
3895 x_msg_count => l_msg_count,
3896 x_msg_data => l_msg_data);
3897 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
3898 x_return_status => x_return_status,
3899 x_msg_count => l_msg_count,
3900 x_msg_data => l_msg_data);
3901 END get_organizations_created;
3902
3903
3904
3905 --------------------------------------
3906 --
3907 -- PROCEDURE get_organizations_updated
3908 --
3909 -- DESCRIPTION
3910 --The caller provides an identifier for the Organizations update business event and
3911 --the procedure returns database objects of the type HZ_ORGANIZATION_BO for all of
3912 --the Organization business objects from the business event.
3913
3914 --
3915 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
3916 --
3917 -- ARGUMENTS
3918 -- IN:
3919 -- p_init_msg_list Initialize message stack if it is set to
3920 -- p_event_id BES Event identifier.
3921 -- FND_API.G_TRUE. Default is FND_API.G_FALSE.
3922 -- OUT:
3923 -- x_organization_objs One or more created logical organization.
3924 -- x_return_status Return status after the call. The status can
3925 -- be fnd_api.g_ret_sts_success (success),
3926 -- fnd_api.g_ret_sts_error (error),
3927 -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
3928 -- x_msg_count Number of messages in message stack.
3929 -- x_msg_data Message text if x_msg_count is 1.
3930 --
3931 -- NOTES
3932 --
3933 -- MODIFICATION HISTORY
3934 --
3935 -- 06-JUN-2005 AWU Created.
3936 --
3937
3938
3939
3940 /*
3941 The Get Organizations Updated procedure is a service to retrieve all of the Organization business objects
3942 whose updates have been captured by the logical business event. Each Organizations Updated business event
3943 signifies that one or more Organization business objects have been updated.
3944 The caller provides an identifier for the Organizations Update business event and the procedure returns
3945 database objects of the type HZ_ORGANIZATION_BO for all of the Organization business objects from the
3946 business event.
3947 Gathering all of the returned database objects from those API calls, the procedure packages them in a table
3948 structure and returns them to the caller.
3949 */
3950
3951 PROCEDURE get_organizations_updated(
3952 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
3953 p_event_id IN NUMBER,
3954 x_organization_objs OUT NOCOPY HZ_ORGANIZATION_BO_TBL,
3955 x_return_status OUT NOCOPY VARCHAR2,
3956 x_msg_count OUT NOCOPY NUMBER,
3957 x_msg_data OUT NOCOPY VARCHAR2
3958 ) is
3959
3960 l_debug_prefix VARCHAR2(30) := '';
3961 begin
3962
3963 -- initialize API return status to success.
3964 x_return_status := FND_API.G_RET_STS_SUCCESS;
3965
3966 -- Initialize message list if p_init_msg_list is set to TRUE
3967 IF FND_API.to_Boolean(p_init_msg_list) THEN
3968 FND_MSG_PUB.initialize;
3969 END IF;
3970
3971
3972 -- Debug info.
3973 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3974 hz_utility_v2pub.debug(p_message=>'hz_organization_bo_pub.get_organizations_updated(+)',
3975 p_prefix=>l_debug_prefix,
3976 p_msg_level=>fnd_log.level_procedure);
3977 END IF;
3978
3979 HZ_EXTRACT_BO_UTIL_PVT.validate_event_id(p_event_id => p_event_id,
3980 p_party_id => null,
3981 p_event_type => 'U',
3982 p_bo_code => 'ORG',
3983 x_return_status => x_return_status);
3984
3985 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3986 RAISE FND_API.G_EXC_ERROR;
3987 END IF;
3988
3989 HZ_EXTRACT_ORGANIZATION_BO_PVT.get_organizations_updated(
3990 p_init_msg_list => fnd_api.g_false,
3991 p_event_id => p_event_id,
3992 x_organization_objs => x_organization_objs,
3993 x_return_status => x_return_status,
3994 x_msg_count => x_msg_count,
3995 x_msg_data => x_msg_data);
3996
3997 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3998 RAISE FND_API.G_EXC_ERROR;
3999 END IF;
4000
4001
4002
4003 -- Debug info.
4004 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
4005 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4006 p_msg_data=>x_msg_data,
4007 p_msg_type=>'WARNING',
4008 p_msg_level=>fnd_log.level_exception);
4009 END IF;
4010
4011 -- Debug info.
4012 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4013 hz_utility_v2pub.debug(p_message=>'hz_organization_bo_pub.get_organizations_updated (-)',
4014 p_prefix=>l_debug_prefix,
4015 p_msg_level=>fnd_log.level_procedure);
4016 END IF;
4017
4018
4019 EXCEPTION
4020
4021 WHEN fnd_api.g_exc_error THEN
4022 x_return_status := fnd_api.g_ret_sts_error;
4023
4024 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
4025 p_count => x_msg_count,
4026 p_data => x_msg_data);
4027
4028 -- Debug info.
4029 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
4030 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4031 p_msg_data=>x_msg_data,
4032 p_msg_type=>'ERROR',
4033 p_msg_level=>fnd_log.level_error);
4034 END IF;
4035 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4036 hz_utility_v2pub.debug(p_message=>'hz_organization_bo_pub.get_organizations_updated(-)',
4037 p_prefix=>l_debug_prefix,
4038 p_msg_level=>fnd_log.level_procedure);
4039 END IF;
4040 WHEN fnd_api.g_exc_unexpected_error THEN
4041 x_return_status := fnd_api.g_ret_sts_unexp_error;
4042
4043 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
4044 p_count => x_msg_count,
4045 p_data => x_msg_data);
4046
4047 -- Debug info.
4048 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
4049 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4050 p_msg_data=>x_msg_data,
4051 p_msg_type=>'UNEXPECTED ERROR',
4052 p_msg_level=>fnd_log.level_error);
4053 END IF;
4054 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4055 hz_utility_v2pub.debug(p_message=>'hz_organization_bo_pub.get_organizations_updated(-)',
4056 p_prefix=>l_debug_prefix,
4057 p_msg_level=>fnd_log.level_procedure);
4058 END IF;
4059 WHEN OTHERS THEN
4060 x_return_status := fnd_api.g_ret_sts_unexp_error;
4061
4062 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
4063 fnd_message.set_token('ERROR' ,SQLERRM);
4064 fnd_msg_pub.add;
4065
4066 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
4067 p_count => x_msg_count,
4068 p_data => x_msg_data);
4069
4070 -- Debug info.
4071 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
4072 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4073 p_msg_data=>x_msg_data,
4074 p_msg_type=>'SQL ERROR',
4075 p_msg_level=>fnd_log.level_error);
4076 END IF;
4077 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4078 hz_utility_v2pub.debug(p_message=>'hz_organization_bo_pub.get_organizations_updated(-)',
4079 p_prefix=>l_debug_prefix,
4080 p_msg_level=>fnd_log.level_procedure);
4081 END IF;
4082
4083 end;
4084
4085 PROCEDURE get_organizations_updated(
4086 p_event_id IN NUMBER,
4087 x_organization_objs OUT NOCOPY HZ_ORGANIZATION_BO_TBL,
4088 x_return_status OUT NOCOPY VARCHAR2,
4089 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL
4090 ) IS
4091 l_msg_data VARCHAR2(2000);
4092 l_msg_count NUMBER;
4093 BEGIN
4094 get_organizations_updated(
4095 p_init_msg_list => fnd_api.g_true,
4096 p_event_id => p_event_id,
4097 x_organization_objs => x_organization_objs,
4098 x_return_status => x_return_status,
4099 x_msg_count => l_msg_count,
4100 x_msg_data => l_msg_data);
4101 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
4102 x_return_status => x_return_status,
4103 x_msg_count => l_msg_count,
4104 x_msg_data => l_msg_data);
4105 END get_organizations_updated;
4106
4107
4108
4109 --------------------------------------
4110 --
4111 -- PROCEDURE get_organization_updated
4112 --
4113 -- DESCRIPTION
4114 --The caller provides an identifier for the Organizations update business event and organization id
4115 --the procedure returns one database object of the type HZ_ORGANIZATION_BO
4116 --
4117 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
4118 --
4119 -- ARGUMENTS
4120 -- IN:
4121 -- p_init_msg_list Initialize message stack if it is set to
4122 -- p_event_id BES Event identifier.
4123 -- FND_API.G_TRUE. Default is FND_API.G_FALSE.
4124 -- OUT:
4125 -- x_organization_objs One or more created logical organization.
4126 -- x_return_status Return status after the call. The status can
4127 -- be fnd_api.g_ret_sts_success (success),
4128 -- fnd_api.g_ret_sts_error (error),
4129 -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
4130 -- x_msg_count Number of messages in message stack.
4131 -- x_msg_data Message text if x_msg_count is 1.
4132 --
4133 -- NOTES
4134 --
4135 -- MODIFICATION HISTORY
4136 --
4137 -- 06-JUN-2005 AWU Created.
4138 --
4139
4140 PROCEDURE get_organization_updated(
4141 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
4142 p_event_id IN NUMBER,
4143 p_organization_id IN NUMBER,
4144 x_organization_obj OUT NOCOPY HZ_ORGANIZATION_BO,
4145 x_return_status OUT NOCOPY VARCHAR2,
4146 x_msg_count OUT NOCOPY NUMBER,
4147 x_msg_data OUT NOCOPY VARCHAR2
4148 ) is
4149 l_debug_prefix VARCHAR2(30) := '';
4150 begin
4151
4152 -- initialize API return status to success.
4153 x_return_status := FND_API.G_RET_STS_SUCCESS;
4154
4155 -- Initialize message list if p_init_msg_list is set to TRUE
4156 IF FND_API.to_Boolean(p_init_msg_list) THEN
4157 FND_MSG_PUB.initialize;
4158 END IF;
4159
4160
4161 -- Debug info.
4162 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4163 hz_utility_v2pub.debug(p_message=>'hz_organization_bo_pub.get_organization_updated(+)',
4164 p_prefix=>l_debug_prefix,
4165 p_msg_level=>fnd_log.level_procedure);
4166 END IF;
4167
4168 HZ_EXTRACT_BO_UTIL_PVT.validate_event_id(p_event_id => p_event_id,
4169 p_party_id => p_organization_id,
4170 p_event_type => 'U',
4171 p_bo_code => 'ORG',
4172 x_return_status => x_return_status);
4173
4174 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
4175 RAISE FND_API.G_EXC_ERROR;
4176 END IF;
4177
4178 HZ_EXTRACT_ORGANIZATION_BO_PVT.get_organization_updated(
4179 p_init_msg_list => fnd_api.g_false,
4180 p_event_id => p_event_id,
4181 p_organization_id => p_organization_id,
4182 x_organization_obj => x_organization_obj,
4183 x_return_status => x_return_status,
4184 x_msg_count => x_msg_count,
4185 x_msg_data => x_msg_data);
4186
4187 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
4188 RAISE FND_API.G_EXC_ERROR;
4189 END IF;
4190
4191
4192
4193 -- Debug info.
4194 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
4195 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4196 p_msg_data=>x_msg_data,
4197 p_msg_type=>'WARNING',
4198 p_msg_level=>fnd_log.level_exception);
4199 END IF;
4200
4201 -- Debug info.
4202 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4203 hz_utility_v2pub.debug(p_message=>'hz_organization_bo_pub.get_organization_updated (-)',
4204 p_prefix=>l_debug_prefix,
4205 p_msg_level=>fnd_log.level_procedure);
4206 END IF;
4207
4208
4209 EXCEPTION
4210
4211 WHEN fnd_api.g_exc_error THEN
4212 x_return_status := fnd_api.g_ret_sts_error;
4213
4214 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
4215 p_count => x_msg_count,
4216 p_data => x_msg_data);
4217
4218 -- Debug info.
4219 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
4220 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4221 p_msg_data=>x_msg_data,
4222 p_msg_type=>'ERROR',
4223 p_msg_level=>fnd_log.level_error);
4224 END IF;
4225 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4226 hz_utility_v2pub.debug(p_message=>'hz_organization_bo_pub.get_organization_updated(-)',
4227 p_prefix=>l_debug_prefix,
4228 p_msg_level=>fnd_log.level_procedure);
4229 END IF;
4230 WHEN fnd_api.g_exc_unexpected_error THEN
4231 x_return_status := fnd_api.g_ret_sts_unexp_error;
4232
4233 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
4234 p_count => x_msg_count,
4235 p_data => x_msg_data);
4236
4237 -- Debug info.
4238 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
4239 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4240 p_msg_data=>x_msg_data,
4241 p_msg_type=>'UNEXPECTED ERROR',
4242 p_msg_level=>fnd_log.level_error);
4243 END IF;
4244 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4245 hz_utility_v2pub.debug(p_message=>'hz_organization_bo_pub.get_organization_updated(-)',
4246 p_prefix=>l_debug_prefix,
4247 p_msg_level=>fnd_log.level_procedure);
4248 END IF;
4249 WHEN OTHERS THEN
4250 x_return_status := fnd_api.g_ret_sts_unexp_error;
4251
4252 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
4253 fnd_message.set_token('ERROR' ,SQLERRM);
4254 fnd_msg_pub.add;
4255
4256 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
4257 p_count => x_msg_count,
4258 p_data => x_msg_data);
4259
4260 -- Debug info.
4261 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
4262 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4263 p_msg_data=>x_msg_data,
4264 p_msg_type=>'SQL ERROR',
4265 p_msg_level=>fnd_log.level_error);
4266 END IF;
4267 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4268 hz_utility_v2pub.debug(p_message=>'hz_organization_bo_pub.get_organization_updated(-)',
4269 p_prefix=>l_debug_prefix,
4270 p_msg_level=>fnd_log.level_procedure);
4271 END IF;
4272
4273 end;
4274
4275 PROCEDURE get_organization_updated(
4276 p_event_id IN NUMBER,
4277 p_organization_id IN NUMBER,
4278 x_organization_obj OUT NOCOPY HZ_ORGANIZATION_BO,
4279 x_return_status OUT NOCOPY VARCHAR2,
4280 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL
4281 ) IS
4282 l_msg_data VARCHAR2(2000);
4283 l_msg_count NUMBER;
4284 BEGIN
4285 get_organization_updated(
4286 p_init_msg_list => fnd_api.g_true,
4287 p_event_id => p_event_id,
4288 p_organization_id => p_organization_id,
4289 x_organization_obj => x_organization_obj,
4290 x_return_status => x_return_status,
4291 x_msg_count => l_msg_count,
4292 x_msg_data => l_msg_data);
4293 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
4294 x_return_status => x_return_status,
4295 x_msg_count => l_msg_count,
4296 x_msg_data => l_msg_data);
4297 END get_organization_updated;
4298
4299
4300
4301 -- get TCA identifiers for create event
4302 PROCEDURE get_ids_organizations_created (
4303 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
4304 p_event_id IN NUMBER,
4305 x_organization_ids OUT NOCOPY HZ_EXTRACT_BO_UTIL_PVT.BO_ID_TBL,
4306 x_return_status OUT NOCOPY VARCHAR2,
4307 x_msg_count OUT NOCOPY NUMBER,
4308 x_msg_data OUT NOCOPY VARCHAR2
4309
4310 ) is
4311 l_debug_prefix VARCHAR2(30) := '';
4312
4313 begin
4314 -- initialize API return status to success.
4315 x_return_status := FND_API.G_RET_STS_SUCCESS;
4316
4317 -- Initialize message list if p_init_msg_list is set to TRUE
4318 IF FND_API.to_Boolean(p_init_msg_list) THEN
4319 FND_MSG_PUB.initialize;
4320 END IF;
4321
4322
4323 -- Debug info.
4324 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4325 hz_utility_v2pub.debug(p_message=>'get_ids_organizations_created(+)',
4326 p_prefix=>l_debug_prefix,
4327 p_msg_level=>fnd_log.level_procedure);
4328 END IF;
4329
4330 HZ_EXTRACT_BO_UTIL_PVT.validate_event_id(p_event_id => p_event_id,
4331 p_party_id => null,
4332 p_event_type => 'C',
4333 p_bo_code => 'ORG',
4334 x_return_status => x_return_status);
4335
4336 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
4337 RAISE FND_API.G_EXC_ERROR;
4338 END IF;
4339
4340 HZ_EXTRACT_BO_UTIL_PVT.get_bo_root_ids(
4341 p_init_msg_list => fnd_api.g_false,
4342 p_event_id => p_event_id,
4343 x_obj_root_ids => x_organization_ids,
4344 x_return_status => x_return_status,
4345 x_msg_count => x_msg_count,
4346 x_msg_data => x_msg_data);
4347
4348 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
4349 RAISE FND_API.G_EXC_ERROR;
4350 END IF;
4351
4352
4353 -- Debug info.
4354 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
4355 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4356 p_msg_data=>x_msg_data,
4357 p_msg_type=>'WARNING',
4358 p_msg_level=>fnd_log.level_exception);
4359 END IF;
4360
4361 -- Debug info.
4362 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4363 hz_utility_v2pub.debug(p_message=>'get_ids_organizations_created (-)',
4364 p_prefix=>l_debug_prefix,
4365 p_msg_level=>fnd_log.level_procedure);
4366 END IF;
4367
4368
4369 EXCEPTION
4370
4371 WHEN fnd_api.g_exc_error THEN
4372 x_return_status := fnd_api.g_ret_sts_error;
4373
4374 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
4375 p_count => x_msg_count,
4376 p_data => x_msg_data);
4377
4378 -- Debug info.
4379 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
4380 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4381 p_msg_data=>x_msg_data,
4382 p_msg_type=>'ERROR',
4383 p_msg_level=>fnd_log.level_error);
4384 END IF;
4385 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4386 hz_utility_v2pub.debug(p_message=>'get_ids_organizations_created(-)',
4387 p_prefix=>l_debug_prefix,
4388 p_msg_level=>fnd_log.level_procedure);
4389 END IF;
4390 WHEN fnd_api.g_exc_unexpected_error THEN
4391 x_return_status := fnd_api.g_ret_sts_unexp_error;
4392
4393 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
4394 p_count => x_msg_count,
4395 p_data => x_msg_data);
4396
4397 -- Debug info.
4398 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
4399 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4400 p_msg_data=>x_msg_data,
4401 p_msg_type=>'UNEXPECTED ERROR',
4402 p_msg_level=>fnd_log.level_error);
4403 END IF;
4404 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4405 hz_utility_v2pub.debug(p_message=>'get_ids_organizations_created(-)',
4406 p_prefix=>l_debug_prefix,
4407 p_msg_level=>fnd_log.level_procedure);
4408 END IF;
4409 WHEN OTHERS THEN
4410 x_return_status := fnd_api.g_ret_sts_unexp_error;
4411
4412 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
4413 fnd_message.set_token('ERROR' ,SQLERRM);
4414 fnd_msg_pub.add;
4415
4416 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
4417 p_count => x_msg_count,
4418 p_data => x_msg_data);
4419
4420 -- Debug info.
4421 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
4422 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4423 p_msg_data=>x_msg_data,
4424 p_msg_type=>'SQL ERROR',
4425 p_msg_level=>fnd_log.level_error);
4426 END IF;
4427 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4428 hz_utility_v2pub.debug(p_message=>'get_ids_organizations_created(-)',
4429 p_prefix=>l_debug_prefix,
4430 p_msg_level=>fnd_log.level_procedure);
4431 END IF;
4432
4433 end;
4434
4435
4436 -- get TCA identifiers for update event
4437 PROCEDURE get_ids_organizations_updated (
4438 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
4439 p_event_id IN NUMBER,
4440 x_organization_ids OUT NOCOPY HZ_EXTRACT_BO_UTIL_PVT.BO_ID_TBL,
4441 x_return_status OUT NOCOPY VARCHAR2,
4442 x_msg_count OUT NOCOPY NUMBER,
4443 x_msg_data OUT NOCOPY VARCHAR2
4444 ) is
4445 l_debug_prefix VARCHAR2(30) := '';
4446
4447 begin
4448 -- initialize API return status to success.
4449 x_return_status := FND_API.G_RET_STS_SUCCESS;
4450
4451 -- Initialize message list if p_init_msg_list is set to TRUE
4452 IF FND_API.to_Boolean(p_init_msg_list) THEN
4453 FND_MSG_PUB.initialize;
4454 END IF;
4455
4456
4457 -- Debug info.
4458 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4459 hz_utility_v2pub.debug(p_message=>'get_ids_organizations_updated(+)',
4460 p_prefix=>l_debug_prefix,
4461 p_msg_level=>fnd_log.level_procedure);
4462 END IF;
4463
4464 HZ_EXTRACT_BO_UTIL_PVT.validate_event_id(p_event_id => p_event_id,
4465 p_party_id => null,
4466 p_event_type => 'U',
4467 p_bo_code => 'ORG',
4468 x_return_status => x_return_status);
4469
4470 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
4471 RAISE FND_API.G_EXC_ERROR;
4472 END IF;
4473
4474 HZ_EXTRACT_BO_UTIL_PVT.get_bo_root_ids(
4475 p_init_msg_list => fnd_api.g_false,
4476 p_event_id => p_event_id,
4477 x_obj_root_ids => x_organization_ids,
4478 x_return_status => x_return_status,
4479 x_msg_count => x_msg_count,
4480 x_msg_data => x_msg_data);
4481
4482 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
4483 RAISE FND_API.G_EXC_ERROR;
4484 END IF;
4485
4486
4487 -- Debug info.
4488 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
4489 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4490 p_msg_data=>x_msg_data,
4491 p_msg_type=>'WARNING',
4492 p_msg_level=>fnd_log.level_exception);
4493 END IF;
4494
4495 -- Debug info.
4496 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4497 hz_utility_v2pub.debug(p_message=>'get_ids_organizations_updated (-)',
4498 p_prefix=>l_debug_prefix,
4499 p_msg_level=>fnd_log.level_procedure);
4500 END IF;
4501
4502
4503 EXCEPTION
4504
4505 WHEN fnd_api.g_exc_error THEN
4506 x_return_status := fnd_api.g_ret_sts_error;
4507
4508 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
4509 p_count => x_msg_count,
4510 p_data => x_msg_data);
4511
4512 -- Debug info.
4513 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
4514 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4515 p_msg_data=>x_msg_data,
4516 p_msg_type=>'ERROR',
4517 p_msg_level=>fnd_log.level_error);
4518 END IF;
4519 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4520 hz_utility_v2pub.debug(p_message=>'get_ids_organizations_updated(-)',
4521 p_prefix=>l_debug_prefix,
4522 p_msg_level=>fnd_log.level_procedure);
4523 END IF;
4524 WHEN fnd_api.g_exc_unexpected_error THEN
4525 x_return_status := fnd_api.g_ret_sts_unexp_error;
4526
4527 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
4528 p_count => x_msg_count,
4529 p_data => x_msg_data);
4530
4531 -- Debug info.
4532 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
4533 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4534 p_msg_data=>x_msg_data,
4535 p_msg_type=>'UNEXPECTED ERROR',
4536 p_msg_level=>fnd_log.level_error);
4537 END IF;
4538 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4539 hz_utility_v2pub.debug(p_message=>'get_ids_organizations_updated(-)',
4540 p_prefix=>l_debug_prefix,
4541 p_msg_level=>fnd_log.level_procedure);
4542 END IF;
4543 WHEN OTHERS THEN
4544 x_return_status := fnd_api.g_ret_sts_unexp_error;
4545
4546 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
4547 fnd_message.set_token('ERROR' ,SQLERRM);
4548 fnd_msg_pub.add;
4549
4550 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
4551 p_count => x_msg_count,
4552 p_data => x_msg_data);
4553
4554 -- Debug info.
4555 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
4556 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4557 p_msg_data=>x_msg_data,
4558 p_msg_type=>'SQL ERROR',
4559 p_msg_level=>fnd_log.level_error);
4560 END IF;
4561 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4562 hz_utility_v2pub.debug(p_message=>'get_ids_organizations_updated(-)',
4563 p_prefix=>l_debug_prefix,
4564 p_msg_level=>fnd_log.level_procedure);
4565 END IF;
4566
4567 end;
4568
4569
4570
4571
4572 END hz_organization_bo_pub;