[Home] [Help]
PACKAGE BODY: APPS.HZ_ORG_CUST_BO_PUB
Source
1 PACKAGE BODY HZ_ORG_CUST_BO_PUB AS
2 /*$Header: ARHBOABB.pls 120.19 2008/02/06 10:31:34 vsegu ship $ */
3 PROCEDURE do_create_org_cust_bo(
4 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
5 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
6 p_org_cust_obj IN OUT NOCOPY HZ_ORG_CUST_BO,
7 p_created_by_module IN VARCHAR2,
8 p_obj_source IN VARCHAR2 := null,
9 x_return_status OUT NOCOPY VARCHAR2,
10 x_msg_count OUT NOCOPY NUMBER,
11 x_msg_data OUT NOCOPY VARCHAR2,
12 x_organization_id OUT NOCOPY NUMBER
13 );
14
15 PROCEDURE do_update_org_cust_bo(
16 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
17 p_org_cust_obj IN OUT NOCOPY HZ_ORG_CUST_BO,
18 p_created_by_module IN VARCHAR2,
19 p_obj_source IN VARCHAR2 := null,
20 x_return_status OUT NOCOPY VARCHAR2,
21 x_msg_count OUT NOCOPY NUMBER,
22 x_msg_data OUT NOCOPY VARCHAR2,
23 x_organization_id OUT NOCOPY NUMBER
24 );
25
26 PROCEDURE do_save_org_cust_bo(
27 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
28 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
29 p_org_cust_obj IN OUT NOCOPY HZ_ORG_CUST_BO,
30 p_created_by_module IN VARCHAR2,
31 p_obj_source IN VARCHAR2 := null,
32 x_return_status OUT NOCOPY VARCHAR2,
33 x_msg_count OUT NOCOPY NUMBER,
34 x_msg_data OUT NOCOPY VARCHAR2,
35 x_organization_id OUT NOCOPY NUMBER
36 );
37
38 -- PROCEDURE do_create_org_cust_bo
39 --
40 -- DESCRIPTION
41 -- Create org customer account.
42 PROCEDURE do_create_org_cust_bo(
43 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
44 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
45 p_org_cust_obj IN OUT NOCOPY HZ_ORG_CUST_BO,
46 p_created_by_module IN VARCHAR2,
47 p_obj_source IN VARCHAR2 := null,
48 x_return_status OUT NOCOPY VARCHAR2,
49 x_msg_count OUT NOCOPY NUMBER,
50 x_msg_data OUT NOCOPY VARCHAR2,
51 x_organization_id OUT NOCOPY NUMBER
52 ) IS
53 l_organization_os VARCHAR2(30);
54 l_organization_osr VARCHAR2(255);
55 l_debug_prefix VARCHAR2(30) := '';
56 l_valid_obj BOOLEAN;
57 l_raise_event BOOLEAN := FALSE;
58 l_bus_object HZ_REGISTRY_VALIDATE_BO_PVT.COMPLETENESS_REC_TYPE;
59 l_cbm VARCHAR2(30);
60 l_org_event_id NUMBER;
61 l_oc_event_id NUMBER;
62 BEGIN
63 -- Standard start of API savepoint
64 SAVEPOINT do_create_org_cust_bo_pub;
65
66 -- initialize API return status to success.
67 x_return_status := FND_API.G_RET_STS_SUCCESS;
68
69 -- Initialize message list if p_init_msg_list is set to TRUE
70 IF FND_API.to_Boolean(p_init_msg_list) THEN
71 FND_MSG_PUB.initialize;
72 END IF;
73
74 -- Debug info.
75 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
76 hz_utility_v2pub.debug(p_message=>'do_create_org_cust_bo(+)',
77 p_prefix=>l_debug_prefix,
78 p_msg_level=>fnd_log.level_procedure);
79 END IF;
80
81 -- Base on p_validate_bo_flag, check the completeness of business objects
82 IF(p_validate_bo_flag = FND_API.G_TRUE) THEN
83 HZ_REGISTRY_VALIDATE_BO_PVT.get_bus_obj_struct(
84 p_bus_object_code => 'ORG_CUST',
85 x_bus_object => l_bus_object
86 );
87
88 l_valid_obj := HZ_REGISTRY_VALIDATE_BO_PVT.is_oca_bo_comp(
89 p_org_obj => p_org_cust_obj.organization_obj,
90 p_ca_objs => p_org_cust_obj.account_objs
91 );
92
93 IF NOT(l_valid_obj) THEN
94 RAISE fnd_api.g_exc_error;
95 END IF;
96
97 -- find out if raise event at the end
98 l_raise_event := HZ_PARTY_BO_PVT.is_raising_create_event(
99 p_obj_complete_flag => l_valid_obj );
100
101 IF(l_raise_event) THEN
102 -- Get event_id for org
103 SELECT HZ_BUS_OBJ_TRACKING_S.nextval
104 INTO l_org_event_id
105 FROM DUAL;
106
107 -- Get event_id for org customer
108 SELECT HZ_BUS_OBJ_TRACKING_S.nextval
109 INTO l_oc_event_id
110 FROM DUAL;
111 END IF;
112 ELSE
113 l_raise_event := FALSE;
114 END IF;
115
116 -- initialize Global variable to indicate the caller of V2API is from BO API
117 HZ_UTILITY_V2PUB.G_CALLING_API := 'BO_API';
118 IF(p_created_by_module IS NULL) THEN
119 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := 'BO_API';
120 ELSE
121 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := p_created_by_module;
122 END IF;
123
124 l_cbm := HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE;
125
126 HZ_ORGANIZATION_BO_PUB.do_create_organization_bo(
127 p_init_msg_list => fnd_api.g_false,
128 p_validate_bo_flag => FND_API.G_FALSE,
129 p_organization_obj => p_org_cust_obj.organization_obj,
130 p_created_by_module => HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE,
131 p_obj_source => p_obj_source,
132 x_return_status => x_return_status,
133 x_msg_count => x_msg_count,
134 x_msg_data => x_msg_data,
135 x_organization_id => x_organization_id,
136 x_organization_os => l_organization_os,
137 x_organization_osr => l_organization_osr
138 );
139
140 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
141 RAISE fnd_api.g_exc_error;
142 END IF;
143
144 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := l_cbm;
145
146 IF((p_org_cust_obj.account_objs IS NOT NULL) AND
147 (p_org_cust_obj.account_objs.COUNT > 0)) THEN
148 HZ_CUST_ACCT_BO_PVT.save_cust_accts(
149 p_ca_objs => p_org_cust_obj.account_objs,
150 p_create_update_flag => 'C',
151 x_return_status => x_return_status,
152 x_msg_count => x_msg_count,
153 x_msg_data => x_msg_data,
154 p_parent_id => x_organization_id,
155 p_parent_os => l_organization_os,
156 p_parent_osr => l_organization_osr,
157 p_parent_obj_type => 'ORG'
158 );
159
160 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
161 RAISE fnd_api.g_exc_error;
162 END IF;
163 END IF;
164
165 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := l_cbm;
166
167 -- raise event
168 IF(l_raise_event) THEN
169 -- raise create org event
170 HZ_PARTY_BO_PVT.call_bes(
171 p_party_id => x_organization_id,
172 p_bo_code => 'ORG',
173 p_create_or_update => 'C',
174 p_obj_source => p_obj_source,
175 p_event_id => l_org_event_id
176 );
177
178 -- raise create org cust event
179 HZ_PARTY_BO_PVT.call_bes(
180 p_party_id => x_organization_id,
181 p_bo_code => 'ORG_CUST',
182 p_create_or_update => 'C',
183 p_obj_source => p_obj_source,
184 p_event_id => l_oc_event_id
185 );
186 END IF;
187
188 -- reset Global variable
189 HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
190 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := NULL;
191
192 -- Debug info.
193 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
194 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
195 p_msg_data=>x_msg_data,
196 p_msg_type=>'WARNING',
197 p_msg_level=>fnd_log.level_exception);
198 END IF;
199 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
200 hz_utility_v2pub.debug(p_message=>'do_create_org_cust_bo(-)',
201 p_prefix=>l_debug_prefix,
202 p_msg_level=>fnd_log.level_procedure);
203 END IF;
204 EXCEPTION
205 WHEN fnd_api.g_exc_error THEN
206 ROLLBACK TO do_create_org_cust_bo_pub;
207
208 -- reset Global variable
209 HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
210 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := NULL;
211
212 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
213 FND_MESSAGE.SET_TOKEN('OBJECT', 'ORG_CUST');
214 FND_MSG_PUB.ADD;
215
216 x_return_status := fnd_api.g_ret_sts_error;
217
218 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
219 p_count => x_msg_count,
220 p_data => x_msg_data);
221
222 -- Debug info.
223 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
224 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
225 p_msg_data=>x_msg_data,
226 p_msg_type=>'ERROR',
227 p_msg_level=>fnd_log.level_error);
228 END IF;
229 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
230 hz_utility_v2pub.debug(p_message=>'do_create_org_cust_bo(-)',
231 p_prefix=>l_debug_prefix,
232 p_msg_level=>fnd_log.level_procedure);
233 END IF;
234
235 WHEN fnd_api.g_exc_unexpected_error THEN
236 ROLLBACK TO do_create_org_cust_bo_pub;
237
238 -- reset Global variable
239 HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
240 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := NULL;
241
242 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
243 FND_MESSAGE.SET_TOKEN('OBJECT', 'ORG_CUST');
244 FND_MSG_PUB.ADD;
245
246 x_return_status := fnd_api.g_ret_sts_unexp_error;
247
248 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
249 p_count => x_msg_count,
250 p_data => x_msg_data);
251
252 -- Debug info.
253 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
254 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
255 p_msg_data=>x_msg_data,
256 p_msg_type=>'UNEXPECTED ERROR',
257 p_msg_level=>fnd_log.level_error);
258 END IF;
259 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
260 hz_utility_v2pub.debug(p_message=>'do_create_org_cust_bo(-)',
261 p_prefix=>l_debug_prefix,
262 p_msg_level=>fnd_log.level_procedure);
263 END IF;
264
265 WHEN OTHERS THEN
266 ROLLBACK TO do_create_org_cust_bo_pub;
267
268 -- reset Global variable
269 HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
270 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := NULL;
271
272 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
273 FND_MESSAGE.SET_TOKEN('OBJECT', 'ORG_CUST');
274 FND_MSG_PUB.ADD;
275
276 x_return_status := fnd_api.g_ret_sts_unexp_error;
277
278 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
279 fnd_message.set_token('ERROR' ,SQLERRM);
280 fnd_msg_pub.add;
281
282 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
283 p_count => x_msg_count,
284 p_data => x_msg_data);
285
286 -- Debug info.
287 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
288 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
289 p_msg_data=>x_msg_data,
290 p_msg_type=>'SQL ERROR',
291 p_msg_level=>fnd_log.level_error);
292 END IF;
293 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
294 hz_utility_v2pub.debug(p_message=>'do_create_org_cust_bo(-)',
295 p_prefix=>l_debug_prefix,
296 p_msg_level=>fnd_log.level_procedure);
297 END IF;
298 END do_create_org_cust_bo;
299
300 PROCEDURE create_org_cust_bo(
301 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
302 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
303 p_org_cust_obj IN HZ_ORG_CUST_BO,
304 p_created_by_module IN VARCHAR2,
305 x_return_status OUT NOCOPY VARCHAR2,
306 x_msg_count OUT NOCOPY NUMBER,
307 x_msg_data OUT NOCOPY VARCHAR2,
308 x_organization_id OUT NOCOPY NUMBER
309 ) IS
310 l_oc_obj HZ_ORG_CUST_BO;
311 BEGIN
312 l_oc_obj := p_org_cust_obj;
313 do_create_org_cust_bo(
314 p_init_msg_list => p_init_msg_list,
315 p_validate_bo_flag => p_validate_bo_flag,
316 p_org_cust_obj => l_oc_obj,
317 p_created_by_module => p_created_by_module,
318 p_obj_source => null,
319 x_return_status => x_return_status,
320 x_msg_count => x_msg_count,
321 x_msg_data => x_msg_data,
322 x_organization_id => x_organization_id
323 );
324 END create_org_cust_bo;
325
326 PROCEDURE create_org_cust_bo(
327 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
328 p_org_cust_obj IN HZ_ORG_CUST_BO,
329 p_created_by_module IN VARCHAR2,
330 p_obj_source IN VARCHAR2 := null,
331 p_return_obj_flag IN VARCHAR2 := fnd_api.g_true,
332 x_return_status OUT NOCOPY VARCHAR2,
333 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL,
334 x_return_obj OUT NOCOPY HZ_ORG_CUST_BO,
335 x_organization_id OUT NOCOPY NUMBER
336 ) IS
337 l_msg_count NUMBER;
338 l_msg_data VARCHAR2(2000);
339 l_oc_obj HZ_ORG_CUST_BO;
340 BEGIN
341 l_oc_obj := p_org_cust_obj;
342 do_create_org_cust_bo(
343 p_init_msg_list => fnd_api.g_true,
344 p_validate_bo_flag => p_validate_bo_flag,
345 p_org_cust_obj => l_oc_obj,
346 p_created_by_module => p_created_by_module,
347 p_obj_source => p_obj_source,
348 x_return_status => x_return_status,
349 x_msg_count => l_msg_count,
350 x_msg_data => l_msg_data,
351 x_organization_id => x_organization_id
352 );
353 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
354 x_return_status => x_return_status,
355 x_msg_count => l_msg_count,
356 x_msg_data => l_msg_data);
357 IF FND_API.to_Boolean(p_return_obj_flag) THEN
358 x_return_obj := l_oc_obj;
359 END IF;
360 END create_org_cust_bo;
361
362 -- PROCEDURE do_update_org_cust_bo
363 --
364 -- DESCRIPTION
365 -- Update org customer account.
366 PROCEDURE do_update_org_cust_bo(
367 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
368 p_org_cust_obj IN OUT NOCOPY HZ_ORG_CUST_BO,
369 p_created_by_module IN VARCHAR2,
370 p_obj_source IN VARCHAR2 := null,
371 x_return_status OUT NOCOPY VARCHAR2,
372 x_msg_count OUT NOCOPY NUMBER,
373 x_msg_data OUT NOCOPY VARCHAR2,
374 x_organization_id OUT NOCOPY NUMBER
375 ) IS
376 l_organization_os VARCHAR2(30);
377 l_organization_osr VARCHAR2(255);
378 l_debug_prefix VARCHAR2(30) := '';
379 l_org_raise_event BOOLEAN := FALSE;
380 l_oc_raise_event BOOLEAN := FALSE;
381 l_cbm VARCHAR2(30);
382 l_org_event_id NUMBER;
383 l_oc_event_id NUMBER;
384 BEGIN
385 -- Standard start of API savepoint
386 SAVEPOINT do_update_org_cust_bo_pub;
387
388 -- initialize API return status to success.
389 x_return_status := FND_API.G_RET_STS_SUCCESS;
390
391 -- Initialize message list if p_init_msg_list is set to TRUE
392 IF FND_API.to_Boolean(p_init_msg_list) THEN
393 FND_MSG_PUB.initialize;
394 END IF;
395
396 -- Debug info.
397 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
398 hz_utility_v2pub.debug(p_message=>'do_update_org_cust_bo(+)',
399 p_prefix=>l_debug_prefix,
400 p_msg_level=>fnd_log.level_procedure);
401 END IF;
402
403 -- initialize Global variable to indicate the caller of V2API is from BO API
404 HZ_UTILITY_V2PUB.G_CALLING_API := 'BO_API';
405 IF(p_created_by_module IS NULL) THEN
406 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := 'BO_API';
407 ELSE
408 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := p_created_by_module;
409 END IF;
410
411 x_organization_id := p_org_cust_obj.organization_obj.organization_id;
412 l_organization_os := p_org_cust_obj.organization_obj.orig_system;
413 l_organization_osr:= p_org_cust_obj.organization_obj.orig_system_reference;
414
415 -- check input party_id and os+osr
416 hz_registry_validate_bo_pvt.validate_ssm_id(
417 px_id => x_organization_id,
418 px_os => l_organization_os,
419 px_osr => l_organization_osr,
420 p_obj_type => 'ORGANIZATION',
421 p_create_or_update => 'U',
422 x_return_status => x_return_status,
423 x_msg_count => x_msg_count,
424 x_msg_data => x_msg_data);
425
426 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
427 RAISE FND_API.G_EXC_ERROR;
428 END IF;
429
430 -- get organization_id and then call
431 l_org_raise_event := HZ_PARTY_BO_PVT.is_raising_update_event(
432 p_party_id => x_organization_id,
433 p_bo_code => 'ORG'
434 );
435
436 l_oc_raise_event := HZ_PARTY_BO_PVT.is_raising_update_event(
437 p_party_id => x_organization_id,
438 p_bo_code => 'ORG_CUST'
439 );
440
441 IF(l_org_raise_event) THEN
442 -- Get event_id for org
443 SELECT HZ_BUS_OBJ_TRACKING_S.nextval
444 INTO l_org_event_id
445 FROM DUAL;
446 END IF;
447
448 IF(l_oc_raise_event) THEN
449 -- Get event_id for org customer
450 SELECT HZ_BUS_OBJ_TRACKING_S.nextval
451 INTO l_oc_event_id
452 FROM DUAL;
453 END IF;
454
455 -- acknowledge update_organization_bo not to raise event
456 HZ_PARTY_BO_PVT.G_CALL_UPDATE_CUST_BO := 'Y';
457 l_cbm := HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE;
458
459 HZ_ORGANIZATION_BO_PUB.do_update_organization_bo(
460 p_init_msg_list => fnd_api.g_false,
461 p_organization_obj => p_org_cust_obj.organization_obj,
462 p_created_by_module => HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE,
463 p_obj_source => p_obj_source,
464 x_return_status => x_return_status,
465 x_msg_count => x_msg_count,
466 x_msg_data => x_msg_data,
467 x_organization_id => x_organization_id,
468 x_organization_os => l_organization_os,
469 x_organization_osr => l_organization_osr
470 );
471
472 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
473 RAISE FND_API.G_EXC_ERROR;
474 END IF;
475
476 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := l_cbm;
477
478 IF((p_org_cust_obj.account_objs IS NOT NULL) AND
479 (p_org_cust_obj.account_objs.COUNT > 0)) THEN
480 HZ_CUST_ACCT_BO_PVT.save_cust_accts(
481 p_ca_objs => p_org_cust_obj.account_objs,
482 p_create_update_flag => 'U',
483 x_return_status => x_return_status,
484 x_msg_count => x_msg_count,
485 x_msg_data => x_msg_data,
486 p_parent_id => x_organization_id,
487 p_parent_os => l_organization_os,
488 p_parent_osr => l_organization_osr,
489 p_parent_obj_type => 'ORG'
490 );
491
492 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
493 RAISE fnd_api.g_exc_error;
494 END IF;
495 END IF;
496
497 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := l_cbm;
498
499 -- raise event
500 IF(l_org_raise_event) THEN
501 -- raise update org event
502 HZ_PARTY_BO_PVT.call_bes(
503 p_party_id => x_organization_id,
504 p_bo_code => 'ORG',
505 p_create_or_update => 'U',
506 p_obj_source => p_obj_source,
507 p_event_id => l_org_event_id
508 );
509 END IF;
510
511 IF(l_oc_raise_event) THEN
512 -- raise update org cust event
513 HZ_PARTY_BO_PVT.call_bes(
514 p_party_id => x_organization_id,
515 p_bo_code => 'ORG_CUST',
516 p_create_or_update => 'U',
517 p_obj_source => p_obj_source,
518 p_event_id => l_oc_event_id
519 );
520 END IF;
521
522 -- reset Global variable
523 HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
524 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := NULL;
525 HZ_PARTY_BO_PVT.G_CALL_UPDATE_CUST_BO := NULL;
526
527 -- Debug info.
528 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
529 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
530 p_msg_data=>x_msg_data,
531 p_msg_type=>'WARNING',
532 p_msg_level=>fnd_log.level_exception);
533 END IF;
534 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
535 hz_utility_v2pub.debug(p_message=>'do_update_org_cust_bo(+)',
536 p_prefix=>l_debug_prefix,
537 p_msg_level=>fnd_log.level_procedure);
538 END IF;
539
540 EXCEPTION
541 WHEN fnd_api.g_exc_error THEN
542 ROLLBACK TO do_update_org_cust_bo_pub;
543
544 -- reset Global variable
545 HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
546 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := NULL;
547 HZ_PARTY_BO_PVT.G_CALL_UPDATE_CUST_BO := NULL;
548
549 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
550 FND_MESSAGE.SET_TOKEN('OBJECT', 'ORG_CUST');
551 FND_MSG_PUB.ADD;
552
553 x_return_status := fnd_api.g_ret_sts_error;
554
555 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
556 p_count => x_msg_count,
557 p_data => x_msg_data);
558
559 -- Debug info.
560 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
561 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
562 p_msg_data=>x_msg_data,
563 p_msg_type=>'ERROR',
564 p_msg_level=>fnd_log.level_error);
565 END IF;
566 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
567 hz_utility_v2pub.debug(p_message=>'do_update_org_cust_bo(+)',
568 p_prefix=>l_debug_prefix,
569 p_msg_level=>fnd_log.level_procedure);
570 END IF;
571
572 WHEN fnd_api.g_exc_unexpected_error THEN
573 ROLLBACK TO do_update_org_cust_bo_pub;
574
575 -- reset Global variable
576 HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
577 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := NULL;
578 HZ_PARTY_BO_PVT.G_CALL_UPDATE_CUST_BO := NULL;
579
580 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
581 FND_MESSAGE.SET_TOKEN('OBJECT', 'ORG_CUST');
582 FND_MSG_PUB.ADD;
583
584 x_return_status := fnd_api.g_ret_sts_unexp_error;
585
586 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
587 p_count => x_msg_count,
588 p_data => x_msg_data);
589
590 -- Debug info.
591 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
592 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
593 p_msg_data=>x_msg_data,
594 p_msg_type=>'UNEXPECTED ERROR',
595 p_msg_level=>fnd_log.level_error);
596 END IF;
597 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
598 hz_utility_v2pub.debug(p_message=>'do_update_org_cust_bo(+)',
599 p_prefix=>l_debug_prefix,
600 p_msg_level=>fnd_log.level_procedure);
601 END IF;
602
603 WHEN OTHERS THEN
604 ROLLBACK TO do_update_org_cust_bo_pub;
605
606 -- reset Global variable
607 HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
608 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := NULL;
609 HZ_PARTY_BO_PVT.G_CALL_UPDATE_CUST_BO := NULL;
610
611 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
612 FND_MESSAGE.SET_TOKEN('OBJECT', 'ORG_CUST');
613 FND_MSG_PUB.ADD;
614
615 x_return_status := fnd_api.g_ret_sts_unexp_error;
616
617 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
618 fnd_message.set_token('ERROR' ,SQLERRM);
619 fnd_msg_pub.add;
620
621 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
622 p_count => x_msg_count,
623 p_data => x_msg_data);
624
625 -- Debug info.
626 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
627 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
628 p_msg_data=>x_msg_data,
629 p_msg_type=>'SQL ERROR',
630 p_msg_level=>fnd_log.level_error);
631 END IF;
632 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
633 hz_utility_v2pub.debug(p_message=>'do_update_org_cust_bo(+)',
634 p_prefix=>l_debug_prefix,
635 p_msg_level=>fnd_log.level_procedure);
636 END IF;
637 END do_update_org_cust_bo;
638
639 PROCEDURE update_org_cust_bo(
640 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
641 p_org_cust_obj IN HZ_ORG_CUST_BO,
642 p_created_by_module IN VARCHAR2,
643 x_return_status OUT NOCOPY VARCHAR2,
644 x_msg_count OUT NOCOPY NUMBER,
645 x_msg_data OUT NOCOPY VARCHAR2,
646 x_organization_id OUT NOCOPY NUMBER
647 ) IS
648 l_oc_obj HZ_ORG_CUST_BO;
649 BEGIN
650 l_oc_obj := p_org_cust_obj;
651 do_update_org_cust_bo(
652 p_init_msg_list => p_init_msg_list,
653 p_org_cust_obj => l_oc_obj,
654 p_created_by_module => p_created_by_module,
655 p_obj_source => null,
656 x_return_status => x_return_status,
657 x_msg_count => x_msg_count,
658 x_msg_data => x_msg_data,
659 x_organization_id => x_organization_id
660 );
661 END update_org_cust_bo;
662
663 PROCEDURE update_org_cust_bo(
664 p_org_cust_obj IN HZ_ORG_CUST_BO,
665 p_created_by_module IN VARCHAR2,
666 p_obj_source IN VARCHAR2 := null,
667 p_return_obj_flag IN VARCHAR2 := fnd_api.g_true,
668 x_return_status OUT NOCOPY VARCHAR2,
669 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL,
670 x_return_obj OUT NOCOPY HZ_ORG_CUST_BO,
671 x_organization_id OUT NOCOPY NUMBER
672 ) IS
673 l_msg_count NUMBER;
674 l_msg_data VARCHAR2(2000);
675 l_oc_obj HZ_ORG_CUST_BO;
676 BEGIN
677 l_oc_obj := p_org_cust_obj;
678 do_update_org_cust_bo(
679 p_init_msg_list => fnd_api.g_true,
680 p_org_cust_obj => l_oc_obj,
681 p_created_by_module => p_created_by_module,
682 p_obj_source => p_obj_source,
683 x_return_status => x_return_status,
684 x_msg_count => l_msg_count,
685 x_msg_data => l_msg_data,
686 x_organization_id => x_organization_id
687 );
688 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
689 x_return_status => x_return_status,
690 x_msg_count => l_msg_count,
691 x_msg_data => l_msg_data);
692 IF FND_API.to_Boolean(p_return_obj_flag) THEN
693 x_return_obj := l_oc_obj;
694 END IF;
695 END update_org_cust_bo;
696
697 -- PROCEDURE do_save_org_cust_bo
698 --
699 -- DESCRIPTION
700 -- Create or update org customer account.
701 PROCEDURE do_save_org_cust_bo(
702 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
703 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
704 p_org_cust_obj IN OUT NOCOPY HZ_ORG_CUST_BO,
705 p_created_by_module IN VARCHAR2,
706 p_obj_source IN VARCHAR2 := null,
707 x_return_status OUT NOCOPY VARCHAR2,
708 x_msg_count OUT NOCOPY NUMBER,
709 x_msg_data OUT NOCOPY VARCHAR2,
710 x_organization_id OUT NOCOPY NUMBER
711 ) IS
712 l_organization_id NUMBER;
713 l_organization_os VARCHAR2(30);
714 l_organization_osr VARCHAR2(255);
715 l_debug_prefix VARCHAR2(30) := '';
716 l_create_update_flag VARCHAR2(1);
717 BEGIN
718 -- initialize API return status to success.
719 x_return_status := FND_API.G_RET_STS_SUCCESS;
720
721 -- Initialize message list if p_init_msg_list is set to TRUE
722 IF FND_API.to_Boolean(p_init_msg_list) THEN
723 FND_MSG_PUB.initialize;
724 END IF;
725
726 -- Debug info.
727 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
728 hz_utility_v2pub.debug(p_message=>'do_save_org_cust_bo(+)',
729 p_prefix=>l_debug_prefix,
730 p_msg_level=>fnd_log.level_procedure);
731 END IF;
732
733 l_organization_id := p_org_cust_obj.organization_obj.organization_id;
734 l_organization_os := p_org_cust_obj.organization_obj.orig_system;
735 l_organization_osr:= p_org_cust_obj.organization_obj.orig_system_reference;
736
737 -- check root business object to determine that it should be
738 -- create or update, call HZ_REGISTRY_VALIDATE_BO_PVT
739 l_create_update_flag := HZ_REGISTRY_VALIDATE_BO_PVT.check_bo_op(
740 p_entity_id => l_organization_id,
741 p_entity_os => l_organization_os,
742 p_entity_osr => l_organization_osr,
743 p_entity_type => 'HZ_PARTIES',
744 p_parent_id => NULL,
745 p_parent_obj_type=> NULL );
746
747 IF(l_create_update_flag = 'E') THEN
748 FND_MESSAGE.SET_NAME('AR', 'HZ_API_INVALID_ID');
749 FND_MSG_PUB.ADD;
750 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
751 FND_MESSAGE.SET_TOKEN('OBJECT', 'ORG_CUST');
752 FND_MSG_PUB.ADD;
753 RAISE FND_API.G_EXC_ERROR;
754 END IF;
755
756 IF(l_create_update_flag = 'C') THEN
757 do_create_org_cust_bo(
758 p_init_msg_list => fnd_api.g_false,
759 p_validate_bo_flag => p_validate_bo_flag,
760 p_org_cust_obj => p_org_cust_obj,
761 p_created_by_module => p_created_by_module,
762 x_return_status => x_return_status,
763 x_msg_count => x_msg_count,
764 x_msg_data => x_msg_data,
765 x_organization_id => x_organization_id
766 );
767 ELSIF(l_create_update_flag = 'U') THEN
768 do_update_org_cust_bo(
769 p_init_msg_list => fnd_api.g_false,
770 p_org_cust_obj => p_org_cust_obj,
771 p_created_by_module => p_created_by_module,
772 x_return_status => x_return_status,
773 x_msg_count => x_msg_count,
774 x_msg_data => x_msg_data,
775 x_organization_id => x_organization_id
776 );
777 ELSE
778 RAISE FND_API.G_EXC_ERROR;
779 END IF;
780
781 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
782 RAISE fnd_api.g_exc_error;
783 END IF;
784
785 -- Debug info.
786 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
787 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
788 p_msg_data=>x_msg_data,
789 p_msg_type=>'WARNING',
790 p_msg_level=>fnd_log.level_exception);
791 END IF;
792 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
793 hz_utility_v2pub.debug(p_message=>'do_save_org_cust_bo(-)',
794 p_prefix=>l_debug_prefix,
795 p_msg_level=>fnd_log.level_procedure);
796 END IF;
797
798 EXCEPTION
799 WHEN fnd_api.g_exc_error THEN
800 x_return_status := fnd_api.g_ret_sts_error;
801
802 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
803 p_count => x_msg_count,
804 p_data => x_msg_data);
805
806 -- Debug info.
807 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
808 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
809 p_msg_data=>x_msg_data,
810 p_msg_type=>'ERROR',
811 p_msg_level=>fnd_log.level_error);
812 END IF;
813 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
814 hz_utility_v2pub.debug(p_message=>'do_save_org_cust_bo(-)',
815 p_prefix=>l_debug_prefix,
816 p_msg_level=>fnd_log.level_procedure);
817 END IF;
818
819 WHEN fnd_api.g_exc_unexpected_error THEN
820 x_return_status := fnd_api.g_ret_sts_unexp_error;
821
822 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
823 p_count => x_msg_count,
824 p_data => x_msg_data);
825
826 -- Debug info.
827 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
828 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
829 p_msg_data=>x_msg_data,
830 p_msg_type=>'UNEXPECTED ERROR',
831 p_msg_level=>fnd_log.level_error);
832 END IF;
833 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
834 hz_utility_v2pub.debug(p_message=>'do_save_org_cust_bo(-)',
835 p_prefix=>l_debug_prefix,
836 p_msg_level=>fnd_log.level_procedure);
837 END IF;
838 WHEN OTHERS THEN
839 x_return_status := fnd_api.g_ret_sts_unexp_error;
840
841 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
842 fnd_message.set_token('ERROR' ,SQLERRM);
843 fnd_msg_pub.add;
844
845 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
846 p_count => x_msg_count,
847 p_data => x_msg_data);
848
849 -- Debug info.
850 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
851 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
852 p_msg_data=>x_msg_data,
853 p_msg_type=>'SQL ERROR',
854 p_msg_level=>fnd_log.level_error);
855 END IF;
856 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
857 hz_utility_v2pub.debug(p_message=>'do_save_org_cust_bo(-)',
858 p_prefix=>l_debug_prefix,
859 p_msg_level=>fnd_log.level_procedure);
860 END IF;
861 END do_save_org_cust_bo;
862
863 PROCEDURE save_org_cust_bo(
864 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
865 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
866 p_org_cust_obj IN HZ_ORG_CUST_BO,
867 p_created_by_module IN VARCHAR2,
868 x_return_status OUT NOCOPY VARCHAR2,
869 x_msg_count OUT NOCOPY NUMBER,
870 x_msg_data OUT NOCOPY VARCHAR2,
871 x_organization_id OUT NOCOPY NUMBER
872 ) IS
873 l_oc_obj HZ_ORG_CUST_BO;
874 BEGIN
875 l_oc_obj := p_org_cust_obj;
876 do_save_org_cust_bo(
877 p_init_msg_list => p_init_msg_list,
878 p_validate_bo_flag => p_validate_bo_flag,
879 p_org_cust_obj => l_oc_obj,
880 p_created_by_module => p_created_by_module,
881 p_obj_source => null,
882 x_return_status => x_return_status,
883 x_msg_count => x_msg_count,
884 x_msg_data => x_msg_data,
885 x_organization_id => x_organization_id
886 );
887 END save_org_cust_bo;
888
889 PROCEDURE save_org_cust_bo(
890 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
891 p_org_cust_obj IN HZ_ORG_CUST_BO,
892 p_created_by_module IN VARCHAR2,
893 p_obj_source IN VARCHAR2 := null,
894 p_return_obj_flag IN VARCHAR2 := fnd_api.g_true,
895 x_return_status OUT NOCOPY VARCHAR2,
896 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL,
897 x_return_obj OUT NOCOPY HZ_ORG_CUST_BO,
898 x_organization_id OUT NOCOPY NUMBER
899 ) IS
900 l_msg_count NUMBER;
901 l_msg_data VARCHAR2(2000);
902 l_oc_obj HZ_ORG_CUST_BO;
903 BEGIN
904 l_oc_obj := p_org_cust_obj;
905 do_save_org_cust_bo(
906 p_init_msg_list => fnd_api.g_true,
907 p_validate_bo_flag => p_validate_bo_flag,
908 p_org_cust_obj => l_oc_obj,
909 p_created_by_module => p_created_by_module,
910 p_obj_source => p_obj_source,
911 x_return_status => x_return_status,
912 x_msg_count => l_msg_count,
913 x_msg_data => l_msg_data,
914 x_organization_id => x_organization_id
915 );
916 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
917 x_return_status => x_return_status,
918 x_msg_count => l_msg_count,
919 x_msg_data => l_msg_data);
920 IF FND_API.to_Boolean(p_return_obj_flag) THEN
921 x_return_obj := l_oc_obj;
922 END IF;
923 END save_org_cust_bo;
924
925 --------------------------------------
926 --
927 -- PROCEDURE get_org_cust_bo
928 --
929 -- DESCRIPTION
930 -- Get a logical organization customer.
931 --
932 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
933 --
934 -- ARGUMENTS
935 -- IN:
936 -- p_init_msg_list Initialize message stack if it is set to
937 -- p_organization_id Organization ID.
938 -- FND_API.G_TRUE. Default is FND_API.G_FALSE.
939 -- p_organization_os Organization orig system.
940 -- p_organization_osr Organization orig system reference.
941 -- OUT:
942 -- x_org_cust_obj Logical organization customer record.
943 -- x_return_status Return status after the call. The status can
944 -- be fnd_api.g_ret_sts_success (success),
945 -- fnd_api.g_ret_sts_error (error),
946 -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
947 -- x_msg_count Number of messages in message stack.
948 -- x_msg_data Message text if x_msg_count is 1.
949 --
950 -- NOTES
951 --
952 -- MODIFICATION HISTORY
953 --
954 --
955 -- 10-JUN-2005 AWU Created.
956 --
957
958 /*
959 The Get Organization Customer API Procedure is a retrieval service that returns a full Organization Customer business object.
960 The user identifies a particular Organization Customer business object using the TCA identifier and/or
961 the object Source System information. Upon proper validation of the object,
962 the full Organization Customer business object is returned. The object consists of all data included within
963 the Organization Customer business object, at all embedded levels. This includes the set of all data stored
964 in the TCA tables for each embedded entity.
965
966 To retrieve the appropriate embedded business objects within the Organization Customer business object,
967 the Get procedure calls the equivalent procedure for the following embedded objects:
968
969 Embedded BO Mandatory Multiple Logical API Procedure Comments
970
971 Org Y N get_org_bo
972 Customer Account Y Y get_cust_acct_bo Called for each Customer Account object for the Organization Customer
973
974 */
975
976
977
978 PROCEDURE get_org_cust_bo(
979 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
980 p_organization_id IN NUMBER,
981 p_organization_os IN VARCHAR2,
982 p_organization_osr IN VARCHAR2,
983 x_org_cust_obj OUT NOCOPY HZ_ORG_CUST_BO,
984 x_return_status OUT NOCOPY VARCHAR2,
985 x_msg_count OUT NOCOPY NUMBER,
986 x_msg_data OUT NOCOPY VARCHAR2
987 ) is
988 l_debug_prefix VARCHAR2(30) := '';
989
990 l_organization_id number;
991 l_organization_os varchar2(30);
992 l_organization_osr varchar2(255);
993 BEGIN
994
995 -- initialize API return status to success.
996 x_return_status := FND_API.G_RET_STS_SUCCESS;
997
998 -- Initialize message list if p_init_msg_list is set to TRUE
999 IF FND_API.to_Boolean(p_init_msg_list) THEN
1000 FND_MSG_PUB.initialize;
1001 END IF;
1002
1003
1004 -- Debug info.
1005 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1006 hz_utility_v2pub.debug(p_message=>'hz_org_cust_bo_pub.get_org_cust_bo(+)',
1007 p_prefix=>l_debug_prefix,
1008 p_msg_level=>fnd_log.level_procedure);
1009 END IF;
1010
1011 -- check if pass in contact_point_id and/or os+osr
1012 -- extraction validation logic is same as update
1013
1014 l_organization_id := p_organization_id;
1015 l_organization_os := p_organization_os;
1016 l_organization_osr := p_organization_osr;
1017
1018 HZ_EXTRACT_BO_UTIL_PVT.validate_ssm_id(
1019 px_id => l_organization_id,
1020 px_os => l_organization_os,
1021 px_osr => l_organization_osr,
1022 p_obj_type => 'ORGANIZATION',
1023 x_return_status => x_return_status,
1024 x_msg_count => x_msg_count,
1025 x_msg_data => x_msg_data);
1026
1027 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1028 RAISE fnd_api.g_exc_error;
1029 END IF;
1030
1031 HZ_EXTRACT_ORG_CUST_BO_PVT.get_org_cust_bo(
1032 p_init_msg_list => fnd_api.g_false,
1033 p_organization_id => l_organization_id,
1034 p_action_type => NULL,
1035 x_org_cust_obj => x_org_cust_obj,
1036 x_return_status => x_return_status,
1037 x_msg_count => x_msg_count,
1038 x_msg_data => x_msg_data);
1039
1040 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1041 RAISE FND_API.G_EXC_ERROR;
1042 END IF;
1043
1044
1045 -- Debug info.
1046 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
1047 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1048 p_msg_data=>x_msg_data,
1049 p_msg_type=>'WARNING',
1050 p_msg_level=>fnd_log.level_exception);
1051 END IF;
1052
1053 -- Debug info.
1054 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1055 hz_utility_v2pub.debug(p_message=>'hz_org_cust_bo_pub.get_org_cust_bo (-)',
1056 p_prefix=>l_debug_prefix,
1057 p_msg_level=>fnd_log.level_procedure);
1058 END IF;
1059
1060
1061 EXCEPTION
1062
1063 WHEN fnd_api.g_exc_error THEN
1064 x_return_status := fnd_api.g_ret_sts_error;
1065
1066 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1067 p_count => x_msg_count,
1068 p_data => x_msg_data);
1069
1070 -- Debug info.
1071 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1072 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1073 p_msg_data=>x_msg_data,
1074 p_msg_type=>'ERROR',
1075 p_msg_level=>fnd_log.level_error);
1076 END IF;
1077 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1078 hz_utility_v2pub.debug(p_message=>'hz_org_cust_bo_pub.get_org_cust_bo (-)',
1079 p_prefix=>l_debug_prefix,
1080 p_msg_level=>fnd_log.level_procedure);
1081 END IF;
1082 WHEN fnd_api.g_exc_unexpected_error THEN
1083 x_return_status := fnd_api.g_ret_sts_unexp_error;
1084
1085 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1086 p_count => x_msg_count,
1087 p_data => x_msg_data);
1088
1089 -- Debug info.
1090 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1091 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1092 p_msg_data=>x_msg_data,
1093 p_msg_type=>'UNEXPECTED ERROR',
1094 p_msg_level=>fnd_log.level_error);
1095 END IF;
1096 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1097 hz_utility_v2pub.debug(p_message=>'hz_org_cust_bo_pub.get_org_cust_bo (-)',
1098 p_prefix=>l_debug_prefix,
1099 p_msg_level=>fnd_log.level_procedure);
1100 END IF;
1101 WHEN OTHERS THEN
1102 x_return_status := fnd_api.g_ret_sts_unexp_error;
1103
1104 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
1105 fnd_message.set_token('ERROR' ,SQLERRM);
1106 fnd_msg_pub.add;
1107
1108 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1109 p_count => x_msg_count,
1110 p_data => x_msg_data);
1111
1112 -- Debug info.
1113 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1114 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1115 p_msg_data=>x_msg_data,
1116 p_msg_type=>'SQL ERROR',
1117 p_msg_level=>fnd_log.level_error);
1118 END IF;
1119 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1120 hz_utility_v2pub.debug(p_message=>'hz_org_cust_bo_pub.get_org_cust_bo (-)',
1121 p_prefix=>l_debug_prefix,
1122 p_msg_level=>fnd_log.level_procedure);
1123 END IF;
1124
1125 end;
1126
1127 PROCEDURE get_org_cust_bo(
1128 p_organization_id IN NUMBER,
1129 p_organization_os IN VARCHAR2,
1130 p_organization_osr IN VARCHAR2,
1131 x_org_cust_obj OUT NOCOPY HZ_ORG_CUST_BO,
1132 x_return_status OUT NOCOPY VARCHAR2,
1133 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL
1134 ) IS
1135 l_msg_data VARCHAR2(2000);
1136 l_msg_count NUMBER;
1137 BEGIN
1138 get_org_cust_bo(
1139 p_init_msg_list => fnd_api.g_true,
1140 p_organization_id => p_organization_id,
1141 p_organization_os => p_organization_os,
1142 p_organization_osr => p_organization_osr,
1143 x_org_cust_obj => x_org_cust_obj,
1144 x_return_status => x_return_status,
1145 x_msg_count => l_msg_count,
1146 x_msg_data => l_msg_data
1147 );
1148 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
1149 x_return_status => x_return_status,
1150 x_msg_count => l_msg_count,
1151 x_msg_data => l_msg_data);
1152 END get_org_cust_bo;
1153
1154
1155 --------------------------------------
1156 --
1157 -- PROCEDURE get_org_custs_created
1158 --
1159 -- DESCRIPTION
1160 --The caller provides an identifier for the Organization Customers created business event and
1161 --the procedure returns database objects of the type HZ_ORG CUSTOMER_BO for all of
1162 --the Organization Customer business objects from the business event.
1163
1164 --
1165 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
1166 --
1167 -- ARGUMENTS
1168 -- IN:
1169 -- p_init_msg_list Initialize message stack if it is set to
1170 -- p_event_id BES Event identifier.
1171 -- FND_API.G_TRUE. Default is FND_API.G_FALSE.
1172 -- OUT:
1173 -- x_org_cust_objs One or more created logical organization customer.
1174 -- x_return_status Return status after the call. The status can
1175 -- be fnd_api.g_ret_sts_success (success),
1176 -- fnd_api.g_ret_sts_error (error),
1177 -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
1178 -- x_msg_count Number of messages in message stack.
1179 -- x_msg_data Message text if x_msg_count is 1.
1180 --
1181 -- NOTES
1182 --
1183 -- MODIFICATION HISTORY
1184 --
1185 -- 10-JUN-2005 AWU Created.
1186 --
1187
1188
1189
1190 /*
1191 The Get organization customers Created procedure is a service to retrieve all of the Organization Customer business objects
1192 whose creations have been captured by a logical business event. Each Organization Customers Created
1193 business event signifies that one or more Organization Customer business objects have been created.
1194 The caller provides an identifier for the Organization Customers Created business event and the procedure
1195 returns all of the Organization Customer business objects from the business event. For each business object
1196 creation captured in the business event, the procedure calls the generic Get operation:
1197 HZ_ORG_BO_PVT.get_org_bo
1198
1199 Gathering all of the returned business objects from those API calls, the procedure packages
1200 them in a table structure and returns them to the caller.
1201 */
1202
1203
1204 PROCEDURE get_org_custs_created(
1205 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
1206 p_event_id IN NUMBER,
1207 x_org_cust_objs OUT NOCOPY HZ_ORG_CUST_BO_TBL,
1208 x_return_status OUT NOCOPY VARCHAR2,
1209 x_msg_count OUT NOCOPY NUMBER,
1210 x_msg_data OUT NOCOPY VARCHAR2
1211 ) is
1212 l_debug_prefix VARCHAR2(30) := '';
1213 begin
1214
1215 -- initialize API return status to success.
1216 x_return_status := FND_API.G_RET_STS_SUCCESS;
1217
1218 -- Initialize message list if p_init_msg_list is set to TRUE
1219 IF FND_API.to_Boolean(p_init_msg_list) THEN
1220 FND_MSG_PUB.initialize;
1221 END IF;
1222
1223
1224 -- Debug info.
1225 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1226 hz_utility_v2pub.debug(p_message=>'hz_org_cust_bo_pub.get_org_custs_created(+)',
1227 p_prefix=>l_debug_prefix,
1228 p_msg_level=>fnd_log.level_procedure);
1229 END IF;
1230
1231 HZ_EXTRACT_BO_UTIL_PVT.validate_event_id(p_event_id => p_event_id,
1232 p_party_id => null,
1233 p_event_type => 'C',
1234 p_bo_code => 'ORG_CUST',
1235 x_return_status => x_return_status);
1236
1237 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1238 RAISE FND_API.G_EXC_ERROR;
1239 END IF;
1240
1241 HZ_EXTRACT_ORG_CUST_BO_PVT.get_org_custs_created(
1242 p_init_msg_list => fnd_api.g_false,
1243 p_event_id => p_event_id,
1244 x_org_cust_objs => x_org_cust_objs,
1245 x_return_status => x_return_status,
1246 x_msg_count => x_msg_count,
1247 x_msg_data => x_msg_data);
1248
1249 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1250 RAISE FND_API.G_EXC_ERROR;
1251 END IF;
1252
1253
1254
1255 -- Debug info.
1256 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
1257 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1258 p_msg_data=>x_msg_data,
1259 p_msg_type=>'WARNING',
1260 p_msg_level=>fnd_log.level_exception);
1261 END IF;
1262
1263 -- Debug info.
1264 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1265 hz_utility_v2pub.debug(p_message=>'hz_org_cust_bo_pub.get_org_custs_created (-)',
1266 p_prefix=>l_debug_prefix,
1267 p_msg_level=>fnd_log.level_procedure);
1268 END IF;
1269
1270
1271 EXCEPTION
1272
1273 WHEN fnd_api.g_exc_error THEN
1274 x_return_status := fnd_api.g_ret_sts_error;
1275
1276 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1277 p_count => x_msg_count,
1278 p_data => x_msg_data);
1279
1280 -- Debug info.
1281 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1282 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1283 p_msg_data=>x_msg_data,
1284 p_msg_type=>'ERROR',
1285 p_msg_level=>fnd_log.level_error);
1286 END IF;
1287 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1288 hz_utility_v2pub.debug(p_message=>'hz_org_cust_bo_pub.get_org_custs_created(-)',
1289 p_prefix=>l_debug_prefix,
1290 p_msg_level=>fnd_log.level_procedure);
1291 END IF;
1292 WHEN fnd_api.g_exc_unexpected_error THEN
1293 x_return_status := fnd_api.g_ret_sts_unexp_error;
1294
1295 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1296 p_count => x_msg_count,
1297 p_data => x_msg_data);
1298
1299 -- Debug info.
1300 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1301 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1302 p_msg_data=>x_msg_data,
1303 p_msg_type=>'UNEXPECTED ERROR',
1304 p_msg_level=>fnd_log.level_error);
1305 END IF;
1306 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1307 hz_utility_v2pub.debug(p_message=>'hz_org_cust_bo_pub.get_org_custs_created(-)',
1308 p_prefix=>l_debug_prefix,
1309 p_msg_level=>fnd_log.level_procedure);
1310 END IF;
1311 WHEN OTHERS THEN
1312 x_return_status := fnd_api.g_ret_sts_unexp_error;
1313
1314 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
1315 fnd_message.set_token('ERROR' ,SQLERRM);
1316 fnd_msg_pub.add;
1317
1318 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1319 p_count => x_msg_count,
1320 p_data => x_msg_data);
1321
1322 -- Debug info.
1323 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1324 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1325 p_msg_data=>x_msg_data,
1326 p_msg_type=>'SQL ERROR',
1327 p_msg_level=>fnd_log.level_error);
1328 END IF;
1329 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1330 hz_utility_v2pub.debug(p_message=>'hz_org_cust_bo_pub.get_org_custs_created(-)',
1331 p_prefix=>l_debug_prefix,
1332 p_msg_level=>fnd_log.level_procedure);
1333 END IF;
1334
1335 end;
1336
1337 PROCEDURE get_org_custs_created(
1338 p_event_id IN NUMBER,
1339 x_org_cust_objs OUT NOCOPY HZ_ORG_CUST_BO_TBL,
1340 x_return_status OUT NOCOPY VARCHAR2,
1341 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL
1342 ) IS
1343 l_msg_data VARCHAR2(2000);
1344 l_msg_count NUMBER;
1345 BEGIN
1346 get_org_custs_created(
1347 p_init_msg_list => fnd_api.g_true,
1348 p_event_id => p_event_id,
1349 x_org_cust_objs => x_org_cust_objs,
1350 x_return_status => x_return_status,
1351 x_msg_count => l_msg_count,
1352 x_msg_data => l_msg_data
1353 );
1354 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
1355 x_return_status => x_return_status,
1356 x_msg_count => l_msg_count,
1357 x_msg_data => l_msg_data);
1358 END get_org_custs_created;
1359
1360
1361
1362
1363
1364
1365 --------------------------------------
1366 --
1367 -- PROCEDURE get_org_custs_updated
1368 --
1369 -- DESCRIPTION
1370 --The caller provides an identifier for the Organization Customers update business event and
1371 --the procedure returns database objects of the type HZ_ORG_CUST_BO for all of
1372 --the Organization Customer business objects from the business event.
1373
1374 --
1375 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
1376 --
1377 -- ARGUMENTS
1378 -- IN:
1379 -- p_init_msg_list Initialize message stack if it is set to
1380 -- p_event_id BES Event identifier.
1381 -- FND_API.G_TRUE. Default is FND_API.G_FALSE.
1382 -- OUT:
1383 -- x_org_cust_objs One or more created logical org.
1384 -- x_return_status Return status after the call. The status can
1385 -- be fnd_api.g_ret_sts_success (success),
1386 -- fnd_api.g_ret_sts_error (error),
1387 -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
1388 -- x_msg_count Number of messages in message stack.
1389 -- x_msg_data Message text if x_msg_count is 1.
1390 --
1391 -- NOTES
1392 --
1393 -- MODIFICATION HISTORY
1394 --
1395 -- 10-JUN-2005 AWU Created.
1396 --
1397
1398
1399
1400 /*
1401 The Get Organization Customers Updated procedure is a service to retrieve all of the Organization Customer business objects whose
1402 updates have been captured by the logical business event. Each Organization Customers Updated business event signifies that one or
1403 more Organization Customer business objects have been updated.
1404 The caller provides an identifier for the Organization Customers Update business event and the procedure returns database objects
1405 of the type HZ_ORG_CUST_BO for all of the Organization Customer business objects from the business event.
1406 Gathering all of the returned database objects from those API calls, the procedure packages them in a table structure and returns
1407 them to the caller.
1408 */
1409
1410 PROCEDURE get_org_custs_updated(
1411 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
1412 p_event_id IN NUMBER,
1413 x_org_cust_objs OUT NOCOPY HZ_ORG_CUST_BO_TBL,
1414 x_return_status OUT NOCOPY VARCHAR2,
1415 x_msg_count OUT NOCOPY NUMBER,
1416 x_msg_data OUT NOCOPY VARCHAR2
1417 ) is
1418
1419 l_debug_prefix VARCHAR2(30) := '';
1420 begin
1421
1422 -- initialize API return status to success.
1423 x_return_status := FND_API.G_RET_STS_SUCCESS;
1424
1425 -- Initialize message list if p_init_msg_list is set to TRUE
1426 IF FND_API.to_Boolean(p_init_msg_list) THEN
1427 FND_MSG_PUB.initialize;
1428 END IF;
1429
1430
1431 -- Debug info.
1432 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1433 hz_utility_v2pub.debug(p_message=>'hz_org_cust_bo_pub.get_org_custs_updated(+)',
1434 p_prefix=>l_debug_prefix,
1435 p_msg_level=>fnd_log.level_procedure);
1436 END IF;
1437
1438 HZ_EXTRACT_BO_UTIL_PVT.validate_event_id(p_event_id => p_event_id,
1439 p_party_id => null,
1440 p_event_type => 'U',
1441 p_bo_code => 'ORG_CUST',
1442 x_return_status => x_return_status);
1443
1444 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1445 RAISE FND_API.G_EXC_ERROR;
1446 END IF;
1447
1448 HZ_EXTRACT_ORG_CUST_BO_PVT.get_org_custs_updated(
1449 p_init_msg_list => fnd_api.g_false,
1450 p_event_id => p_event_id,
1451 x_org_cust_objs => x_org_cust_objs,
1452 x_return_status => x_return_status,
1453 x_msg_count => x_msg_count,
1454 x_msg_data => x_msg_data);
1455
1456 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1457 RAISE FND_API.G_EXC_ERROR;
1458 END IF;
1459
1460
1461
1462 -- Debug info.
1463 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
1464 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1465 p_msg_data=>x_msg_data,
1466 p_msg_type=>'WARNING',
1467 p_msg_level=>fnd_log.level_exception);
1468 END IF;
1469
1470 -- Debug info.
1471 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1472 hz_utility_v2pub.debug(p_message=>'hz_org_cust_bo_pub.get_org_custs_updated (-)',
1473 p_prefix=>l_debug_prefix,
1474 p_msg_level=>fnd_log.level_procedure);
1475 END IF;
1476
1477
1478 EXCEPTION
1479
1480 WHEN fnd_api.g_exc_error THEN
1481 x_return_status := fnd_api.g_ret_sts_error;
1482
1483 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1484 p_count => x_msg_count,
1485 p_data => x_msg_data);
1486
1487 -- Debug info.
1488 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1489 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1490 p_msg_data=>x_msg_data,
1491 p_msg_type=>'ERROR',
1492 p_msg_level=>fnd_log.level_error);
1493 END IF;
1494 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1495 hz_utility_v2pub.debug(p_message=>'hz_org_cust_bo_pub.get_org_custs_updated(-)',
1496 p_prefix=>l_debug_prefix,
1497 p_msg_level=>fnd_log.level_procedure);
1498 END IF;
1499 WHEN fnd_api.g_exc_unexpected_error THEN
1500 x_return_status := fnd_api.g_ret_sts_unexp_error;
1501
1502 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1503 p_count => x_msg_count,
1504 p_data => x_msg_data);
1505
1506 -- Debug info.
1507 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1508 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1509 p_msg_data=>x_msg_data,
1510 p_msg_type=>'UNEXPECTED ERROR',
1511 p_msg_level=>fnd_log.level_error);
1512 END IF;
1513 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1514 hz_utility_v2pub.debug(p_message=>'hz_org_cust_bo_pub.get_org_custs_updated(-)',
1515 p_prefix=>l_debug_prefix,
1516 p_msg_level=>fnd_log.level_procedure);
1517 END IF;
1518 WHEN OTHERS THEN
1519 x_return_status := fnd_api.g_ret_sts_unexp_error;
1520
1521 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
1522 fnd_message.set_token('ERROR' ,SQLERRM);
1523 fnd_msg_pub.add;
1524
1525 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1526 p_count => x_msg_count,
1527 p_data => x_msg_data);
1528
1529 -- Debug info.
1530 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1531 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1532 p_msg_data=>x_msg_data,
1533 p_msg_type=>'SQL ERROR',
1534 p_msg_level=>fnd_log.level_error);
1535 END IF;
1536 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1537 hz_utility_v2pub.debug(p_message=>'hz_org_cust_bo_pub.get_org_custs_updated(-)',
1538 p_prefix=>l_debug_prefix,
1539 p_msg_level=>fnd_log.level_procedure);
1540 END IF;
1541
1542 end;
1543
1544 PROCEDURE get_org_custs_updated(
1545 p_event_id IN NUMBER,
1546 x_org_cust_objs OUT NOCOPY HZ_ORG_CUST_BO_TBL,
1547 x_return_status OUT NOCOPY VARCHAR2,
1548 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL
1549 ) IS
1550 l_msg_data VARCHAR2(2000);
1551 l_msg_count NUMBER;
1552 BEGIN
1553 get_org_custs_updated(
1554 p_init_msg_list => fnd_api.g_true,
1555 p_event_id => p_event_id,
1556 x_org_cust_objs => x_org_cust_objs,
1557 x_return_status => x_return_status,
1558 x_msg_count => l_msg_count,
1559 x_msg_data => l_msg_data
1560 );
1561 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
1562 x_return_status => x_return_status,
1563 x_msg_count => l_msg_count,
1564 x_msg_data => l_msg_data);
1565 END get_org_custs_updated;
1566
1567
1568
1569 PROCEDURE get_org_cust_updated(
1570 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
1571 p_event_id IN NUMBER,
1572 p_org_cust_id IN NUMBER,
1573 x_org_cust_obj OUT NOCOPY HZ_ORG_CUST_BO,
1574 x_return_status OUT NOCOPY VARCHAR2,
1575 x_msg_count OUT NOCOPY NUMBER,
1576 x_msg_data OUT NOCOPY VARCHAR2
1577 ) is
1578 l_debug_prefix VARCHAR2(30) := '';
1579 begin
1580
1581 -- initialize API return status to success.
1582 x_return_status := FND_API.G_RET_STS_SUCCESS;
1583
1584 -- Initialize message list if p_init_msg_list is set to TRUE
1585 IF FND_API.to_Boolean(p_init_msg_list) THEN
1586 FND_MSG_PUB.initialize;
1587 END IF;
1588
1589
1590 -- Debug info.
1591 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1592 hz_utility_v2pub.debug(p_message=>'hz_org_cust_bo_pub.get_org_cust_updated(+)',
1593 p_prefix=>l_debug_prefix,
1594 p_msg_level=>fnd_log.level_procedure);
1595 END IF;
1596
1597 HZ_EXTRACT_BO_UTIL_PVT.validate_event_id(p_event_id => p_event_id,
1598 p_party_id => p_org_cust_id,
1599 p_event_type => 'U',
1600 p_bo_code => 'ORG_CUST',
1601 x_return_status => x_return_status);
1602
1603 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1604 RAISE FND_API.G_EXC_ERROR;
1605 END IF;
1606
1607 HZ_EXTRACT_ORG_CUST_BO_PVT.get_org_cust_updated(
1608 p_init_msg_list => fnd_api.g_false,
1609 p_event_id => p_event_id,
1610 p_org_cust_id => p_org_cust_id,
1611 x_org_cust_obj => x_org_cust_obj,
1612 x_return_status => x_return_status,
1613 x_msg_count => x_msg_count,
1614 x_msg_data => x_msg_data);
1615
1616 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1617 RAISE FND_API.G_EXC_ERROR;
1618 END IF;
1619
1620
1621
1622 -- Debug info.
1623 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
1624 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1625 p_msg_data=>x_msg_data,
1626 p_msg_type=>'WARNING',
1627 p_msg_level=>fnd_log.level_exception);
1628 END IF;
1629
1630 -- Debug info.
1631 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1632 hz_utility_v2pub.debug(p_message=>'hz_org_cust_bo_pub.get_org_cust_updated (-)',
1633 p_prefix=>l_debug_prefix,
1634 p_msg_level=>fnd_log.level_procedure);
1635 END IF;
1636
1637
1638 EXCEPTION
1639
1640 WHEN fnd_api.g_exc_error THEN
1641 x_return_status := fnd_api.g_ret_sts_error;
1642
1643 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1644 p_count => x_msg_count,
1645 p_data => x_msg_data);
1646
1647 -- Debug info.
1648 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1649 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1650 p_msg_data=>x_msg_data,
1651 p_msg_type=>'ERROR',
1652 p_msg_level=>fnd_log.level_error);
1653 END IF;
1654 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1655 hz_utility_v2pub.debug(p_message=>'hz_org_cust_bo_pub.get_org_cust_updated(-)',
1656 p_prefix=>l_debug_prefix,
1657 p_msg_level=>fnd_log.level_procedure);
1658 END IF;
1659 WHEN fnd_api.g_exc_unexpected_error THEN
1660 x_return_status := fnd_api.g_ret_sts_unexp_error;
1661
1662 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1663 p_count => x_msg_count,
1664 p_data => x_msg_data);
1665
1666 -- Debug info.
1667 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1668 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1669 p_msg_data=>x_msg_data,
1670 p_msg_type=>'UNEXPECTED ERROR',
1671 p_msg_level=>fnd_log.level_error);
1672 END IF;
1673 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1674 hz_utility_v2pub.debug(p_message=>'hz_org_cust_bo_pub.get_org_cust_updated(-)',
1675 p_prefix=>l_debug_prefix,
1676 p_msg_level=>fnd_log.level_procedure);
1677 END IF;
1678 WHEN OTHERS THEN
1679 x_return_status := fnd_api.g_ret_sts_unexp_error;
1680
1681 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
1682 fnd_message.set_token('ERROR' ,SQLERRM);
1683 fnd_msg_pub.add;
1684
1685 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1686 p_count => x_msg_count,
1687 p_data => x_msg_data);
1688
1689 -- Debug info.
1690 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1691 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1692 p_msg_data=>x_msg_data,
1693 p_msg_type=>'SQL ERROR',
1694 p_msg_level=>fnd_log.level_error);
1695 END IF;
1696 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1697 hz_utility_v2pub.debug(p_message=>'hz_org_cust_bo_pub.get_org_cust_updated(-)',
1698 p_prefix=>l_debug_prefix,
1699 p_msg_level=>fnd_log.level_procedure);
1700 END IF;
1701
1702 end;
1703
1704 PROCEDURE get_org_cust_updated(
1705 p_event_id IN NUMBER,
1706 p_org_cust_id IN NUMBER,
1707 x_org_cust_obj OUT NOCOPY HZ_ORG_CUST_BO,
1708 x_return_status OUT NOCOPY VARCHAR2,
1709 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL
1710 ) IS
1711 l_msg_data VARCHAR2(2000);
1712 l_msg_count NUMBER;
1713 BEGIN
1714 get_org_cust_updated(
1715 p_init_msg_list => fnd_api.g_false,
1716 p_event_id => p_event_id,
1717 p_org_cust_id => p_org_cust_id,
1718 x_org_cust_obj => x_org_cust_obj,
1719 x_return_status => x_return_status,
1720 x_msg_count => l_msg_count,
1721 x_msg_data => l_msg_data
1722 );
1723 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
1724 x_return_status => x_return_status,
1725 x_msg_count => l_msg_count,
1726 x_msg_data => l_msg_data);
1727 END get_org_cust_updated;
1728
1729 -- get TCA identifiers for create event
1730 PROCEDURE get_ids_org_custs_created (
1731 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
1732 p_event_id IN NUMBER,
1733 x_org_cust_ids OUT NOCOPY HZ_EXTRACT_BO_UTIL_PVT.BO_ID_TBL,
1734 x_return_status OUT NOCOPY VARCHAR2,
1735 x_msg_count OUT NOCOPY NUMBER,
1736 x_msg_data OUT NOCOPY VARCHAR2
1737
1738 ) is
1739 l_debug_prefix VARCHAR2(30) := '';
1740
1741 begin
1742 -- initialize API return status to success.
1743 x_return_status := FND_API.G_RET_STS_SUCCESS;
1744
1745 -- Initialize message list if p_init_msg_list is set to TRUE
1746 IF FND_API.to_Boolean(p_init_msg_list) THEN
1747 FND_MSG_PUB.initialize;
1748 END IF;
1749
1750
1751 -- Debug info.
1752 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1753 hz_utility_v2pub.debug(p_message=>'get_ids_org_custs_created(+)',
1754 p_prefix=>l_debug_prefix,
1755 p_msg_level=>fnd_log.level_procedure);
1756 END IF;
1757
1758 HZ_EXTRACT_BO_UTIL_PVT.validate_event_id(p_event_id => p_event_id,
1759 p_party_id => null,
1760 p_event_type => 'C',
1761 p_bo_code => 'ORG_CUST',
1762 x_return_status => x_return_status);
1763
1764 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1765 RAISE FND_API.G_EXC_ERROR;
1766 END IF;
1767
1768 HZ_EXTRACT_BO_UTIL_PVT.get_bo_root_ids(
1769 p_init_msg_list => fnd_api.g_false,
1770 p_event_id => p_event_id,
1771 x_obj_root_ids => x_org_cust_ids,
1772 x_return_status => x_return_status,
1773 x_msg_count => x_msg_count,
1774 x_msg_data => x_msg_data);
1775
1776 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1777 RAISE FND_API.G_EXC_ERROR;
1778 END IF;
1779
1780
1781 -- Debug info.
1782 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
1783 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1784 p_msg_data=>x_msg_data,
1785 p_msg_type=>'WARNING',
1786 p_msg_level=>fnd_log.level_exception);
1787 END IF;
1788
1789 -- Debug info.
1790 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1791 hz_utility_v2pub.debug(p_message=>'get_ids_org_custs_created (-)',
1792 p_prefix=>l_debug_prefix,
1793 p_msg_level=>fnd_log.level_procedure);
1794 END IF;
1795
1796
1797 EXCEPTION
1798
1799 WHEN fnd_api.g_exc_error THEN
1800 x_return_status := fnd_api.g_ret_sts_error;
1801
1802 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1803 p_count => x_msg_count,
1804 p_data => x_msg_data);
1805
1806 -- Debug info.
1807 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1808 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1809 p_msg_data=>x_msg_data,
1810 p_msg_type=>'ERROR',
1811 p_msg_level=>fnd_log.level_error);
1812 END IF;
1813 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1814 hz_utility_v2pub.debug(p_message=>'get_ids_org_custs_created(-)',
1815 p_prefix=>l_debug_prefix,
1816 p_msg_level=>fnd_log.level_procedure);
1817 END IF;
1818 WHEN fnd_api.g_exc_unexpected_error THEN
1819 x_return_status := fnd_api.g_ret_sts_unexp_error;
1820
1821 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1822 p_count => x_msg_count,
1823 p_data => x_msg_data);
1824
1825 -- Debug info.
1826 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1827 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1828 p_msg_data=>x_msg_data,
1829 p_msg_type=>'UNEXPECTED ERROR',
1830 p_msg_level=>fnd_log.level_error);
1831 END IF;
1832 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1833 hz_utility_v2pub.debug(p_message=>'get_ids_org_custs_created(-)',
1834 p_prefix=>l_debug_prefix,
1835 p_msg_level=>fnd_log.level_procedure);
1836 END IF;
1837 WHEN OTHERS THEN
1838 x_return_status := fnd_api.g_ret_sts_unexp_error;
1839
1840 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
1841 fnd_message.set_token('ERROR' ,SQLERRM);
1842 fnd_msg_pub.add;
1843
1844 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1845 p_count => x_msg_count,
1846 p_data => x_msg_data);
1847
1848 -- Debug info.
1849 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1850 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1851 p_msg_data=>x_msg_data,
1852 p_msg_type=>'SQL ERROR',
1853 p_msg_level=>fnd_log.level_error);
1854 END IF;
1855 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1856 hz_utility_v2pub.debug(p_message=>'get_ids_org_custs_created(-)',
1857 p_prefix=>l_debug_prefix,
1858 p_msg_level=>fnd_log.level_procedure);
1859 END IF;
1860
1861 end;
1862
1863
1864 -- get TCA identifiers for update event
1865 PROCEDURE get_ids_org_custs_updated (
1866 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
1867 p_event_id IN NUMBER,
1868 x_org_cust_ids OUT NOCOPY HZ_EXTRACT_BO_UTIL_PVT.BO_ID_TBL,
1869 x_return_status OUT NOCOPY VARCHAR2,
1870 x_msg_count OUT NOCOPY NUMBER,
1871 x_msg_data OUT NOCOPY VARCHAR2
1872 ) is
1873 l_debug_prefix VARCHAR2(30) := '';
1874
1875 begin
1876 -- initialize API return status to success.
1877 x_return_status := FND_API.G_RET_STS_SUCCESS;
1878
1879 -- Initialize message list if p_init_msg_list is set to TRUE
1880 IF FND_API.to_Boolean(p_init_msg_list) THEN
1881 FND_MSG_PUB.initialize;
1882 END IF;
1883
1884
1885 -- Debug info.
1886 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1887 hz_utility_v2pub.debug(p_message=>'get_ids_org_custs_updated(+)',
1888 p_prefix=>l_debug_prefix,
1889 p_msg_level=>fnd_log.level_procedure);
1890 END IF;
1891
1892 HZ_EXTRACT_BO_UTIL_PVT.validate_event_id(p_event_id => p_event_id,
1893 p_party_id => null,
1894 p_event_type => 'U',
1895 p_bo_code => 'ORG_CUST',
1896 x_return_status => x_return_status);
1897
1898 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1899 RAISE FND_API.G_EXC_ERROR;
1900 END IF;
1901
1902
1903 HZ_EXTRACT_BO_UTIL_PVT.get_bo_root_ids(
1904 p_init_msg_list => fnd_api.g_false,
1905 p_event_id => p_event_id,
1906 x_obj_root_ids => x_org_cust_ids,
1907 x_return_status => x_return_status,
1908 x_msg_count => x_msg_count,
1909 x_msg_data => x_msg_data);
1910
1911 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1912 RAISE FND_API.G_EXC_ERROR;
1913 END IF;
1914
1915
1916 -- Debug info.
1917 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
1918 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1919 p_msg_data=>x_msg_data,
1920 p_msg_type=>'WARNING',
1921 p_msg_level=>fnd_log.level_exception);
1922 END IF;
1923
1924 -- Debug info.
1925 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1926 hz_utility_v2pub.debug(p_message=>'get_ids_org_custs_updated (-)',
1927 p_prefix=>l_debug_prefix,
1928 p_msg_level=>fnd_log.level_procedure);
1929 END IF;
1930
1931
1932 EXCEPTION
1933
1934 WHEN fnd_api.g_exc_error THEN
1935 x_return_status := fnd_api.g_ret_sts_error;
1936
1937 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1938 p_count => x_msg_count,
1939 p_data => x_msg_data);
1940
1941 -- Debug info.
1942 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1943 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1944 p_msg_data=>x_msg_data,
1945 p_msg_type=>'ERROR',
1946 p_msg_level=>fnd_log.level_error);
1947 END IF;
1948 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1949 hz_utility_v2pub.debug(p_message=>'get_ids_org_custs_updated(-)',
1950 p_prefix=>l_debug_prefix,
1951 p_msg_level=>fnd_log.level_procedure);
1952 END IF;
1953 WHEN fnd_api.g_exc_unexpected_error THEN
1954 x_return_status := fnd_api.g_ret_sts_unexp_error;
1955
1956 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1957 p_count => x_msg_count,
1958 p_data => x_msg_data);
1959
1960 -- Debug info.
1961 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1962 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1963 p_msg_data=>x_msg_data,
1964 p_msg_type=>'UNEXPECTED ERROR',
1965 p_msg_level=>fnd_log.level_error);
1966 END IF;
1967 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1968 hz_utility_v2pub.debug(p_message=>'get_ids_org_custs_updated(-)',
1969 p_prefix=>l_debug_prefix,
1970 p_msg_level=>fnd_log.level_procedure);
1971 END IF;
1972 WHEN OTHERS THEN
1973 x_return_status := fnd_api.g_ret_sts_unexp_error;
1974
1975 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
1976 fnd_message.set_token('ERROR' ,SQLERRM);
1977 fnd_msg_pub.add;
1978
1979 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1980 p_count => x_msg_count,
1981 p_data => x_msg_data);
1982
1983 -- Debug info.
1984 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1985 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1986 p_msg_data=>x_msg_data,
1987 p_msg_type=>'SQL ERROR',
1988 p_msg_level=>fnd_log.level_error);
1989 END IF;
1990 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1991 hz_utility_v2pub.debug(p_message=>'get_ids_org_custs_updated(-)',
1992 p_prefix=>l_debug_prefix,
1993 p_msg_level=>fnd_log.level_procedure);
1994 END IF;
1995
1996 end;
1997
1998
1999 -- PROCEDURE do_create_org_cust_v2_bo
2000 --
2001 -- DESCRIPTION
2002 -- Create org customer account.
2003 PROCEDURE do_create_org_cust_v2_bo(
2004 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
2005 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
2006 p_org_cust_v2_obj IN OUT NOCOPY HZ_org_cust_v2_bo,
2007 p_created_by_module IN VARCHAR2,
2008 p_obj_source IN VARCHAR2 := null,
2009 x_return_status OUT NOCOPY VARCHAR2,
2010 x_msg_count OUT NOCOPY NUMBER,
2011 x_msg_data OUT NOCOPY VARCHAR2,
2012 x_organization_id OUT NOCOPY NUMBER
2013 ) IS
2014 l_organization_os VARCHAR2(30);
2015 l_organization_osr VARCHAR2(255);
2016 l_debug_prefix VARCHAR2(30) := '';
2017 l_valid_obj BOOLEAN;
2018 l_raise_event BOOLEAN := FALSE;
2019 l_bus_object HZ_REGISTRY_VALIDATE_BO_PVT.COMPLETENESS_REC_TYPE;
2020 l_cbm VARCHAR2(30);
2021 l_org_event_id NUMBER;
2022 l_oc_event_id NUMBER;
2023 BEGIN
2024 -- Standard start of API savepoint
2025 SAVEPOINT do_create_org_cust_v2_bo_pub;
2026
2027 -- initialize API return status to success.
2028 x_return_status := FND_API.G_RET_STS_SUCCESS;
2029
2030 -- Initialize message list if p_init_msg_list is set to TRUE
2031 IF FND_API.to_Boolean(p_init_msg_list) THEN
2032 FND_MSG_PUB.initialize;
2033 END IF;
2034
2035 -- Debug info.
2036 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2037 hz_utility_v2pub.debug(p_message=>'do_create_org_cust_v2_bo(+)',
2038 p_prefix=>l_debug_prefix,
2039 p_msg_level=>fnd_log.level_procedure);
2040 END IF;
2041
2042 -- Base on p_validate_bo_flag, check the completeness of business objects
2043 IF(p_validate_bo_flag = FND_API.G_TRUE) THEN
2044 HZ_REGISTRY_VALIDATE_BO_PVT.get_bus_obj_struct(
2045 p_bus_object_code => 'ORG_CUST',
2046 x_bus_object => l_bus_object
2047 );
2048
2049 l_valid_obj := HZ_REGISTRY_VALIDATE_BO_PVT.is_oca_v2_bo_comp(
2050 p_org_obj => p_org_cust_v2_obj.organization_obj,
2051 p_ca_v2_objs => p_org_cust_v2_obj.account_objs
2052 );
2053
2054 IF NOT(l_valid_obj) THEN
2055 RAISE fnd_api.g_exc_error;
2056 END IF;
2057
2058 -- find out if raise event at the end
2059 l_raise_event := HZ_PARTY_BO_PVT.is_raising_create_event(
2060 p_obj_complete_flag => l_valid_obj );
2061
2062 IF(l_raise_event) THEN
2063 -- Get event_id for org
2064 SELECT HZ_BUS_OBJ_TRACKING_S.nextval
2065 INTO l_org_event_id
2066 FROM DUAL;
2067
2068 -- Get event_id for org customer
2069 SELECT HZ_BUS_OBJ_TRACKING_S.nextval
2070 INTO l_oc_event_id
2071 FROM DUAL;
2072 END IF;
2073 ELSE
2074 l_raise_event := FALSE;
2075 END IF;
2076
2077 -- initialize Global variable to indicate the caller of V2API is from BO API
2078 HZ_UTILITY_V2PUB.G_CALLING_API := 'BO_API';
2079 IF(p_created_by_module IS NULL) THEN
2080 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := 'BO_API';
2081 ELSE
2082 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := p_created_by_module;
2083 END IF;
2084
2085 l_cbm := HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE;
2086
2087 HZ_ORGANIZATION_BO_PUB.do_create_organization_bo(
2088 p_init_msg_list => fnd_api.g_false,
2089 p_validate_bo_flag => FND_API.G_FALSE,
2090 p_organization_obj => p_org_cust_v2_obj.organization_obj,
2091 p_created_by_module => HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE,
2092 p_obj_source => p_obj_source,
2093 x_return_status => x_return_status,
2094 x_msg_count => x_msg_count,
2095 x_msg_data => x_msg_data,
2096 x_organization_id => x_organization_id,
2097 x_organization_os => l_organization_os,
2098 x_organization_osr => l_organization_osr
2099 );
2100
2101 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2102 RAISE fnd_api.g_exc_error;
2103 END IF;
2104
2105 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := l_cbm;
2106
2107 IF((p_org_cust_v2_obj.account_objs IS NOT NULL) AND
2108 (p_org_cust_v2_obj.account_objs.COUNT > 0)) THEN
2109 HZ_CUST_ACCT_BO_PVT.save_cust_accts(
2110 p_ca_v2_objs => p_org_cust_v2_obj.account_objs,
2111 p_create_update_flag => 'C',
2112 x_return_status => x_return_status,
2113 x_msg_count => x_msg_count,
2114 x_msg_data => x_msg_data,
2115 p_parent_id => x_organization_id,
2116 p_parent_os => l_organization_os,
2117 p_parent_osr => l_organization_osr,
2118 p_parent_obj_type => 'ORG'
2119 );
2120
2121 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2122 RAISE fnd_api.g_exc_error;
2123 END IF;
2124 END IF;
2125
2126 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := l_cbm;
2127
2128 -- raise event
2129 IF(l_raise_event) THEN
2130 -- raise create org event
2131 HZ_PARTY_BO_PVT.call_bes(
2132 p_party_id => x_organization_id,
2133 p_bo_code => 'ORG',
2134 p_create_or_update => 'C',
2135 p_obj_source => p_obj_source,
2136 p_event_id => l_org_event_id
2137 );
2138
2139 -- raise create org cust event
2140 HZ_PARTY_BO_PVT.call_bes(
2141 p_party_id => x_organization_id,
2142 p_bo_code => 'ORG_CUST',
2143 p_create_or_update => 'C',
2144 p_obj_source => p_obj_source,
2145 p_event_id => l_oc_event_id
2146 );
2147 END IF;
2148
2149 -- reset Global variable
2150 HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
2151 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := NULL;
2152
2153 -- Debug info.
2154 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
2155 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
2156 p_msg_data=>x_msg_data,
2157 p_msg_type=>'WARNING',
2158 p_msg_level=>fnd_log.level_exception);
2159 END IF;
2160 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2161 hz_utility_v2pub.debug(p_message=>'do_create_org_cust_v2_bo(-)',
2162 p_prefix=>l_debug_prefix,
2163 p_msg_level=>fnd_log.level_procedure);
2164 END IF;
2165 EXCEPTION
2166 WHEN fnd_api.g_exc_error THEN
2167 ROLLBACK TO do_create_org_cust_v2_bo_pub;
2168
2169 -- reset Global variable
2170 HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
2171 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := NULL;
2172
2173 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
2174 FND_MESSAGE.SET_TOKEN('OBJECT', 'ORG_CUST');
2175 FND_MSG_PUB.ADD;
2176
2177 x_return_status := fnd_api.g_ret_sts_error;
2178
2179 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
2180 p_count => x_msg_count,
2181 p_data => x_msg_data);
2182
2183 -- Debug info.
2184 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
2185 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
2186 p_msg_data=>x_msg_data,
2187 p_msg_type=>'ERROR',
2188 p_msg_level=>fnd_log.level_error);
2189 END IF;
2190 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2191 hz_utility_v2pub.debug(p_message=>'do_create_org_cust_v2_bo(-)',
2192 p_prefix=>l_debug_prefix,
2193 p_msg_level=>fnd_log.level_procedure);
2194 END IF;
2195
2196 WHEN fnd_api.g_exc_unexpected_error THEN
2197 ROLLBACK TO do_create_org_cust_v2_bo_pub;
2198
2199 -- reset Global variable
2200 HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
2201 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := NULL;
2202
2203 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
2204 FND_MESSAGE.SET_TOKEN('OBJECT', 'ORG_CUST');
2205 FND_MSG_PUB.ADD;
2206
2207 x_return_status := fnd_api.g_ret_sts_unexp_error;
2208
2209 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
2210 p_count => x_msg_count,
2211 p_data => x_msg_data);
2212
2213 -- Debug info.
2214 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
2215 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
2216 p_msg_data=>x_msg_data,
2217 p_msg_type=>'UNEXPECTED ERROR',
2218 p_msg_level=>fnd_log.level_error);
2219 END IF;
2220 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2221 hz_utility_v2pub.debug(p_message=>'do_create_org_cust_v2_bo(-)',
2222 p_prefix=>l_debug_prefix,
2223 p_msg_level=>fnd_log.level_procedure);
2224 END IF;
2225
2226 WHEN OTHERS THEN
2227 ROLLBACK TO do_create_org_cust_v2_bo_pub;
2228
2229 -- reset Global variable
2230 HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
2231 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := NULL;
2232
2233 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
2234 FND_MESSAGE.SET_TOKEN('OBJECT', 'ORG_CUST');
2235 FND_MSG_PUB.ADD;
2236
2237 x_return_status := fnd_api.g_ret_sts_unexp_error;
2238
2239 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
2240 fnd_message.set_token('ERROR' ,SQLERRM);
2241 fnd_msg_pub.add;
2242
2243 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
2244 p_count => x_msg_count,
2245 p_data => x_msg_data);
2246
2247 -- Debug info.
2248 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
2249 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
2250 p_msg_data=>x_msg_data,
2251 p_msg_type=>'SQL ERROR',
2252 p_msg_level=>fnd_log.level_error);
2253 END IF;
2254 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2255 hz_utility_v2pub.debug(p_message=>'do_create_org_cust_v2_bo(-)',
2256 p_prefix=>l_debug_prefix,
2257 p_msg_level=>fnd_log.level_procedure);
2258 END IF;
2259 END do_create_org_cust_v2_bo;
2260
2261
2262 PROCEDURE create_org_cust_v2_bo(
2263 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
2264 p_org_cust_v2_obj IN HZ_org_cust_v2_bo,
2265 p_created_by_module IN VARCHAR2,
2266 p_obj_source IN VARCHAR2 := null,
2267 p_return_obj_flag IN VARCHAR2 := fnd_api.g_true,
2268 x_return_status OUT NOCOPY VARCHAR2,
2269 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL,
2270 x_return_obj OUT NOCOPY HZ_org_cust_v2_bo,
2271 x_organization_id OUT NOCOPY NUMBER
2272 ) IS
2273 l_msg_count NUMBER;
2274 l_msg_data VARCHAR2(2000);
2275 l_oc_obj HZ_org_cust_v2_bo;
2276 BEGIN
2277 l_oc_obj := p_org_cust_v2_obj;
2278 do_create_org_cust_v2_bo(
2279 p_init_msg_list => fnd_api.g_true,
2280 p_validate_bo_flag => p_validate_bo_flag,
2281 p_org_cust_v2_obj => l_oc_obj,
2282 p_created_by_module => p_created_by_module,
2283 p_obj_source => p_obj_source,
2284 x_return_status => x_return_status,
2285 x_msg_count => l_msg_count,
2286 x_msg_data => l_msg_data,
2287 x_organization_id => x_organization_id
2288 );
2289 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
2290 x_return_status => x_return_status,
2291 x_msg_count => l_msg_count,
2292 x_msg_data => l_msg_data);
2293 IF FND_API.to_Boolean(p_return_obj_flag) THEN
2294 x_return_obj := l_oc_obj;
2295 END IF;
2296 END create_org_cust_v2_bo;
2297
2298 -- PROCEDURE do_update_org_cust_v2_bo
2299 --
2300 -- DESCRIPTION
2301 -- Update org customer account.
2302 PROCEDURE do_update_org_cust_v2_bo(
2303 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
2304 p_org_cust_v2_obj IN OUT NOCOPY HZ_org_cust_v2_bo,
2305 p_created_by_module IN VARCHAR2,
2306 p_obj_source IN VARCHAR2 := null,
2307 x_return_status OUT NOCOPY VARCHAR2,
2308 x_msg_count OUT NOCOPY NUMBER,
2309 x_msg_data OUT NOCOPY VARCHAR2,
2310 x_organization_id OUT NOCOPY NUMBER
2311 ) IS
2312 l_organization_os VARCHAR2(30);
2313 l_organization_osr VARCHAR2(255);
2314 l_debug_prefix VARCHAR2(30) := '';
2315 l_org_raise_event BOOLEAN := FALSE;
2316 l_oc_raise_event BOOLEAN := FALSE;
2317 l_cbm VARCHAR2(30);
2318 l_org_event_id NUMBER;
2319 l_oc_event_id NUMBER;
2320 BEGIN
2321 -- Standard start of API savepoint
2322 SAVEPOINT do_update_org_cust_v2_bo_pub;
2323
2324 -- initialize API return status to success.
2325 x_return_status := FND_API.G_RET_STS_SUCCESS;
2326
2327 -- Initialize message list if p_init_msg_list is set to TRUE
2328 IF FND_API.to_Boolean(p_init_msg_list) THEN
2329 FND_MSG_PUB.initialize;
2330 END IF;
2331
2332 -- Debug info.
2333 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2334 hz_utility_v2pub.debug(p_message=>'do_update_org_cust_v2_bo(+)',
2335 p_prefix=>l_debug_prefix,
2336 p_msg_level=>fnd_log.level_procedure);
2337 END IF;
2338
2339 -- initialize Global variable to indicate the caller of V2API is from BO API
2340 HZ_UTILITY_V2PUB.G_CALLING_API := 'BO_API';
2341 IF(p_created_by_module IS NULL) THEN
2342 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := 'BO_API';
2343 ELSE
2344 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := p_created_by_module;
2345 END IF;
2346
2347 x_organization_id := p_org_cust_v2_obj.organization_obj.organization_id;
2348 l_organization_os := p_org_cust_v2_obj.organization_obj.orig_system;
2349 l_organization_osr:= p_org_cust_v2_obj.organization_obj.orig_system_reference;
2350
2351 -- check input party_id and os+osr
2352 hz_registry_validate_bo_pvt.validate_ssm_id(
2353 px_id => x_organization_id,
2354 px_os => l_organization_os,
2355 px_osr => l_organization_osr,
2356 p_obj_type => 'ORGANIZATION',
2357 p_create_or_update => 'U',
2358 x_return_status => x_return_status,
2359 x_msg_count => x_msg_count,
2360 x_msg_data => x_msg_data);
2361
2362 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2363 RAISE FND_API.G_EXC_ERROR;
2364 END IF;
2365
2366 -- get organization_id and then call
2367 l_org_raise_event := HZ_PARTY_BO_PVT.is_raising_update_event(
2368 p_party_id => x_organization_id,
2369 p_bo_code => 'ORG'
2370 );
2371
2372 l_oc_raise_event := HZ_PARTY_BO_PVT.is_raising_update_event(
2373 p_party_id => x_organization_id,
2374 p_bo_code => 'ORG_CUST'
2375 );
2376
2377 IF(l_org_raise_event) THEN
2378 -- Get event_id for org
2379 SELECT HZ_BUS_OBJ_TRACKING_S.nextval
2380 INTO l_org_event_id
2381 FROM DUAL;
2382 END IF;
2383
2384 IF(l_oc_raise_event) THEN
2385 -- Get event_id for org customer
2386 SELECT HZ_BUS_OBJ_TRACKING_S.nextval
2387 INTO l_oc_event_id
2388 FROM DUAL;
2389 END IF;
2390
2391 -- acknowledge update_organization_bo not to raise event
2392 HZ_PARTY_BO_PVT.G_CALL_UPDATE_CUST_BO := 'Y';
2393 l_cbm := HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE;
2394
2395 HZ_ORGANIZATION_BO_PUB.do_update_organization_bo(
2396 p_init_msg_list => fnd_api.g_false,
2397 p_organization_obj => p_org_cust_v2_obj.organization_obj,
2398 p_created_by_module => HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE,
2399 p_obj_source => p_obj_source,
2400 x_return_status => x_return_status,
2401 x_msg_count => x_msg_count,
2402 x_msg_data => x_msg_data,
2403 x_organization_id => x_organization_id,
2404 x_organization_os => l_organization_os,
2405 x_organization_osr => l_organization_osr
2406 );
2407
2408 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2409 RAISE FND_API.G_EXC_ERROR;
2410 END IF;
2411
2412 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := l_cbm;
2413
2414 IF((p_org_cust_v2_obj.account_objs IS NOT NULL) AND
2415 (p_org_cust_v2_obj.account_objs.COUNT > 0)) THEN
2416 HZ_CUST_ACCT_BO_PVT.save_cust_accts(
2417 p_ca_v2_objs => p_org_cust_v2_obj.account_objs,
2418 p_create_update_flag => 'U',
2419 x_return_status => x_return_status,
2420 x_msg_count => x_msg_count,
2421 x_msg_data => x_msg_data,
2422 p_parent_id => x_organization_id,
2423 p_parent_os => l_organization_os,
2424 p_parent_osr => l_organization_osr,
2425 p_parent_obj_type => 'ORG'
2426 );
2427
2428 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2429 RAISE fnd_api.g_exc_error;
2430 END IF;
2431 END IF;
2432
2433 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := l_cbm;
2434
2435 -- raise event
2436 IF(l_org_raise_event) THEN
2437 -- raise update org event
2438 HZ_PARTY_BO_PVT.call_bes(
2439 p_party_id => x_organization_id,
2440 p_bo_code => 'ORG',
2441 p_create_or_update => 'U',
2442 p_obj_source => p_obj_source,
2443 p_event_id => l_org_event_id
2444 );
2445 END IF;
2446
2447 IF(l_oc_raise_event) THEN
2448 -- raise update org cust event
2449 HZ_PARTY_BO_PVT.call_bes(
2450 p_party_id => x_organization_id,
2451 p_bo_code => 'ORG_CUST',
2452 p_create_or_update => 'U',
2453 p_obj_source => p_obj_source,
2454 p_event_id => l_oc_event_id
2455 );
2456 END IF;
2457
2458 -- reset Global variable
2459 HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
2460 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := NULL;
2461 HZ_PARTY_BO_PVT.G_CALL_UPDATE_CUST_BO := NULL;
2462
2463 -- Debug info.
2464 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
2465 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
2466 p_msg_data=>x_msg_data,
2467 p_msg_type=>'WARNING',
2468 p_msg_level=>fnd_log.level_exception);
2469 END IF;
2470 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2471 hz_utility_v2pub.debug(p_message=>'do_update_org_cust_v2_bo(+)',
2472 p_prefix=>l_debug_prefix,
2473 p_msg_level=>fnd_log.level_procedure);
2474 END IF;
2475
2476 EXCEPTION
2477 WHEN fnd_api.g_exc_error THEN
2478 ROLLBACK TO do_update_org_cust_v2_bo_pub;
2479
2480 -- reset Global variable
2481 HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
2482 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := NULL;
2483 HZ_PARTY_BO_PVT.G_CALL_UPDATE_CUST_BO := NULL;
2484
2485 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
2486 FND_MESSAGE.SET_TOKEN('OBJECT', 'ORG_CUST');
2487 FND_MSG_PUB.ADD;
2488
2489 x_return_status := fnd_api.g_ret_sts_error;
2490
2491 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
2492 p_count => x_msg_count,
2493 p_data => x_msg_data);
2494
2495 -- Debug info.
2496 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
2497 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
2498 p_msg_data=>x_msg_data,
2499 p_msg_type=>'ERROR',
2500 p_msg_level=>fnd_log.level_error);
2501 END IF;
2502 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2503 hz_utility_v2pub.debug(p_message=>'do_update_org_cust_v2_bo(+)',
2504 p_prefix=>l_debug_prefix,
2505 p_msg_level=>fnd_log.level_procedure);
2506 END IF;
2507
2508 WHEN fnd_api.g_exc_unexpected_error THEN
2509 ROLLBACK TO do_update_org_cust_v2_bo_pub;
2510
2511 -- reset Global variable
2512 HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
2513 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := NULL;
2514 HZ_PARTY_BO_PVT.G_CALL_UPDATE_CUST_BO := NULL;
2515
2516 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
2517 FND_MESSAGE.SET_TOKEN('OBJECT', 'ORG_CUST');
2518 FND_MSG_PUB.ADD;
2519
2520 x_return_status := fnd_api.g_ret_sts_unexp_error;
2521
2522 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
2523 p_count => x_msg_count,
2524 p_data => x_msg_data);
2525
2526 -- Debug info.
2527 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
2528 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
2529 p_msg_data=>x_msg_data,
2530 p_msg_type=>'UNEXPECTED ERROR',
2531 p_msg_level=>fnd_log.level_error);
2532 END IF;
2533 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2534 hz_utility_v2pub.debug(p_message=>'do_update_org_cust_v2_bo(+)',
2535 p_prefix=>l_debug_prefix,
2536 p_msg_level=>fnd_log.level_procedure);
2537 END IF;
2538
2539 WHEN OTHERS THEN
2540 ROLLBACK TO do_update_org_cust_v2_bo_pub;
2541
2542 -- reset Global variable
2543 HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
2544 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := NULL;
2545 HZ_PARTY_BO_PVT.G_CALL_UPDATE_CUST_BO := NULL;
2546
2547 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
2548 FND_MESSAGE.SET_TOKEN('OBJECT', 'ORG_CUST');
2549 FND_MSG_PUB.ADD;
2550
2551 x_return_status := fnd_api.g_ret_sts_unexp_error;
2552
2553 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
2554 fnd_message.set_token('ERROR' ,SQLERRM);
2555 fnd_msg_pub.add;
2556
2557 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
2558 p_count => x_msg_count,
2559 p_data => x_msg_data);
2560
2561 -- Debug info.
2562 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
2563 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
2564 p_msg_data=>x_msg_data,
2565 p_msg_type=>'SQL ERROR',
2566 p_msg_level=>fnd_log.level_error);
2567 END IF;
2568 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2569 hz_utility_v2pub.debug(p_message=>'do_update_org_cust_v2_bo(+)',
2570 p_prefix=>l_debug_prefix,
2571 p_msg_level=>fnd_log.level_procedure);
2572 END IF;
2573 END do_update_org_cust_v2_bo;
2574
2575
2576 PROCEDURE update_org_cust_v2_bo(
2577 p_org_cust_v2_obj IN HZ_org_cust_v2_bo,
2578 p_created_by_module IN VARCHAR2,
2579 p_obj_source IN VARCHAR2 := null,
2580 p_return_obj_flag IN VARCHAR2 := fnd_api.g_true,
2581 x_return_status OUT NOCOPY VARCHAR2,
2582 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL,
2583 x_return_obj OUT NOCOPY HZ_org_cust_v2_bo,
2584 x_organization_id OUT NOCOPY NUMBER
2585 ) IS
2586 l_msg_count NUMBER;
2587 l_msg_data VARCHAR2(2000);
2588 l_oc_obj HZ_org_cust_v2_bo;
2589 BEGIN
2590 l_oc_obj := p_org_cust_v2_obj;
2591 do_update_org_cust_v2_bo(
2592 p_init_msg_list => fnd_api.g_true,
2593 p_org_cust_v2_obj => l_oc_obj,
2594 p_created_by_module => p_created_by_module,
2595 p_obj_source => p_obj_source,
2596 x_return_status => x_return_status,
2597 x_msg_count => l_msg_count,
2598 x_msg_data => l_msg_data,
2599 x_organization_id => x_organization_id
2600 );
2601 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
2602 x_return_status => x_return_status,
2603 x_msg_count => l_msg_count,
2604 x_msg_data => l_msg_data);
2605 IF FND_API.to_Boolean(p_return_obj_flag) THEN
2606 x_return_obj := l_oc_obj;
2607 END IF;
2608 END update_org_cust_v2_bo;
2609
2610 -- PROCEDURE do_save_org_cust_v2_bo
2611 --
2612 -- DESCRIPTION
2613 -- Create or update org customer account.
2614 PROCEDURE do_save_org_cust_v2_bo(
2615 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
2616 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
2617 p_org_cust_v2_obj IN OUT NOCOPY HZ_org_cust_v2_bo,
2618 p_created_by_module IN VARCHAR2,
2619 p_obj_source IN VARCHAR2 := null,
2620 x_return_status OUT NOCOPY VARCHAR2,
2621 x_msg_count OUT NOCOPY NUMBER,
2622 x_msg_data OUT NOCOPY VARCHAR2,
2623 x_organization_id OUT NOCOPY NUMBER
2624 ) IS
2625 l_organization_id NUMBER;
2626 l_organization_os VARCHAR2(30);
2627 l_organization_osr VARCHAR2(255);
2628 l_debug_prefix VARCHAR2(30) := '';
2629 l_create_update_flag VARCHAR2(1);
2630 BEGIN
2631 -- initialize API return status to success.
2632 x_return_status := FND_API.G_RET_STS_SUCCESS;
2633
2634 -- Initialize message list if p_init_msg_list is set to TRUE
2635 IF FND_API.to_Boolean(p_init_msg_list) THEN
2636 FND_MSG_PUB.initialize;
2637 END IF;
2638
2639 -- Debug info.
2640 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2641 hz_utility_v2pub.debug(p_message=>'do_save_org_cust_v2_bo(+)',
2642 p_prefix=>l_debug_prefix,
2643 p_msg_level=>fnd_log.level_procedure);
2644 END IF;
2645
2646 l_organization_id := p_org_cust_v2_obj.organization_obj.organization_id;
2647 l_organization_os := p_org_cust_v2_obj.organization_obj.orig_system;
2648 l_organization_osr:= p_org_cust_v2_obj.organization_obj.orig_system_reference;
2649
2650 -- check root business object to determine that it should be
2651 -- create or update, call HZ_REGISTRY_VALIDATE_BO_PVT
2652 l_create_update_flag := HZ_REGISTRY_VALIDATE_BO_PVT.check_bo_op(
2653 p_entity_id => l_organization_id,
2654 p_entity_os => l_organization_os,
2655 p_entity_osr => l_organization_osr,
2656 p_entity_type => 'HZ_PARTIES',
2657 p_parent_id => NULL,
2658 p_parent_obj_type=> NULL );
2659
2660 IF(l_create_update_flag = 'E') THEN
2661 FND_MESSAGE.SET_NAME('AR', 'HZ_API_INVALID_ID');
2662 FND_MSG_PUB.ADD;
2663 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
2664 FND_MESSAGE.SET_TOKEN('OBJECT', 'ORG_CUST');
2665 FND_MSG_PUB.ADD;
2666 RAISE FND_API.G_EXC_ERROR;
2667 END IF;
2668
2669 IF(l_create_update_flag = 'C') THEN
2670 do_create_org_cust_v2_bo(
2671 p_init_msg_list => fnd_api.g_false,
2672 p_validate_bo_flag => p_validate_bo_flag,
2673 p_org_cust_v2_obj => p_org_cust_v2_obj,
2674 p_created_by_module => p_created_by_module,
2675 x_return_status => x_return_status,
2676 x_msg_count => x_msg_count,
2677 x_msg_data => x_msg_data,
2678 x_organization_id => x_organization_id
2679 );
2680 ELSIF(l_create_update_flag = 'U') THEN
2681 do_update_org_cust_v2_bo(
2682 p_init_msg_list => fnd_api.g_false,
2683 p_org_cust_v2_obj => p_org_cust_v2_obj,
2684 p_created_by_module => p_created_by_module,
2685 x_return_status => x_return_status,
2686 x_msg_count => x_msg_count,
2687 x_msg_data => x_msg_data,
2688 x_organization_id => x_organization_id
2689 );
2690 ELSE
2691 RAISE FND_API.G_EXC_ERROR;
2692 END IF;
2693
2694 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2695 RAISE fnd_api.g_exc_error;
2696 END IF;
2697
2698 -- Debug info.
2699 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
2700 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
2701 p_msg_data=>x_msg_data,
2702 p_msg_type=>'WARNING',
2703 p_msg_level=>fnd_log.level_exception);
2704 END IF;
2705 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2706 hz_utility_v2pub.debug(p_message=>'do_save_org_cust_v2_bo(-)',
2707 p_prefix=>l_debug_prefix,
2708 p_msg_level=>fnd_log.level_procedure);
2709 END IF;
2710
2711 EXCEPTION
2712 WHEN fnd_api.g_exc_error THEN
2713 x_return_status := fnd_api.g_ret_sts_error;
2714
2715 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
2716 p_count => x_msg_count,
2717 p_data => x_msg_data);
2718
2719 -- Debug info.
2720 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
2721 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
2722 p_msg_data=>x_msg_data,
2723 p_msg_type=>'ERROR',
2724 p_msg_level=>fnd_log.level_error);
2725 END IF;
2726 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2727 hz_utility_v2pub.debug(p_message=>'do_save_org_cust_v2_bo(-)',
2728 p_prefix=>l_debug_prefix,
2729 p_msg_level=>fnd_log.level_procedure);
2730 END IF;
2731
2732 WHEN fnd_api.g_exc_unexpected_error THEN
2733 x_return_status := fnd_api.g_ret_sts_unexp_error;
2734
2735 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
2736 p_count => x_msg_count,
2737 p_data => x_msg_data);
2738
2739 -- Debug info.
2740 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
2741 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
2742 p_msg_data=>x_msg_data,
2743 p_msg_type=>'UNEXPECTED ERROR',
2744 p_msg_level=>fnd_log.level_error);
2745 END IF;
2746 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2747 hz_utility_v2pub.debug(p_message=>'do_save_org_cust_v2_bo(-)',
2748 p_prefix=>l_debug_prefix,
2749 p_msg_level=>fnd_log.level_procedure);
2750 END IF;
2751 WHEN OTHERS THEN
2752 x_return_status := fnd_api.g_ret_sts_unexp_error;
2753
2754 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
2755 fnd_message.set_token('ERROR' ,SQLERRM);
2756 fnd_msg_pub.add;
2757
2758 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
2759 p_count => x_msg_count,
2760 p_data => x_msg_data);
2761
2762 -- Debug info.
2763 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
2764 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
2765 p_msg_data=>x_msg_data,
2766 p_msg_type=>'SQL ERROR',
2767 p_msg_level=>fnd_log.level_error);
2768 END IF;
2769 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2770 hz_utility_v2pub.debug(p_message=>'do_save_org_cust_v2_bo(-)',
2771 p_prefix=>l_debug_prefix,
2772 p_msg_level=>fnd_log.level_procedure);
2773 END IF;
2774 END do_save_org_cust_v2_bo;
2775
2776
2777 PROCEDURE save_org_cust_v2_bo(
2778 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
2779 p_org_cust_v2_obj IN HZ_ORG_CUST_V2_BO,
2780 p_created_by_module IN VARCHAR2,
2781 p_obj_source IN VARCHAR2 := null,
2782 p_return_obj_flag IN VARCHAR2 := fnd_api.g_true,
2783 x_return_status OUT NOCOPY VARCHAR2,
2784 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL,
2785 x_return_obj OUT NOCOPY HZ_ORG_CUST_V2_BO,
2786 x_organization_id OUT NOCOPY NUMBER
2787 ) IS
2788 l_msg_count NUMBER;
2789 l_msg_data VARCHAR2(2000);
2790 l_oc_obj HZ_org_cust_v2_bo;
2791 BEGIN
2792 l_oc_obj := p_org_cust_v2_obj;
2793 do_save_org_cust_v2_bo(
2794 p_init_msg_list => fnd_api.g_true,
2795 p_validate_bo_flag => p_validate_bo_flag,
2796 p_org_cust_v2_obj => l_oc_obj,
2797 p_created_by_module => p_created_by_module,
2798 p_obj_source => p_obj_source,
2799 x_return_status => x_return_status,
2800 x_msg_count => l_msg_count,
2801 x_msg_data => l_msg_data,
2802 x_organization_id => x_organization_id
2803 );
2804 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
2805 x_return_status => x_return_status,
2806 x_msg_count => l_msg_count,
2807 x_msg_data => l_msg_data);
2808 IF FND_API.to_Boolean(p_return_obj_flag) THEN
2809 x_return_obj := l_oc_obj;
2810 END IF;
2811 END save_org_cust_v2_bo;
2812
2813 --------------------------------------
2814 --
2815 -- PROCEDURE get_org_cust_v2_bo
2816 --
2817 -- DESCRIPTION
2818 -- Get a logical organization customer.
2819 --
2820 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
2821 --
2822 -- ARGUMENTS
2823 -- IN:
2824 -- p_init_msg_list Initialize message stack if it is set to
2825 -- p_organization_id Organization ID.
2826 -- FND_API.G_TRUE. Default is FND_API.G_FALSE.
2827 -- p_organization_os Organization orig system.
2828 -- p_organization_osr Organization orig system reference.
2829 -- OUT:
2830 -- x_org_cust_v2_obj Logical organization customer record.
2831 -- x_return_status Return status after the call. The status can
2832 -- be fnd_api.g_ret_sts_success (success),
2833 -- fnd_api.g_ret_sts_error (error),
2834 -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
2835 -- x_msg_count Number of messages in message stack.
2836 -- x_msg_data Message text if x_msg_count is 1.
2837 --
2838 -- NOTES
2839 --
2840 -- MODIFICATION HISTORY
2841 --
2842 --
2843 -- 04-FEB-2008 VSEGU Created.
2844 --
2845
2846 /*
2847 The Get Organization Customer API Procedure is a retrieval service that returns a full Organization Customer business object.
2848 The user identifies a particular Organization Customer business object using the TCA identifier and/or
2849 the object Source System information. Upon proper validation of the object,
2850 the full Organization Customer business object is returned. The object consists of all data included within
2851 the Organization Customer business object, at all embedded levels. This includes the set of all data stored
2852 in the TCA tables for each embedded entity.
2853
2854 To retrieve the appropriate embedded business objects within the Organization Customer business object,
2855 the Get procedure calls the equivalent procedure for the following embedded objects:
2856
2857 Embedded BO Mandatory Multiple Logical API Procedure Comments
2858
2859 Org Y N get_org_bo
2860 Customer Account Y Y get_cust_acct_v2_bo Called for each Customer Account object for the Organization Customer
2861
2862 */
2863
2864
2865
2866 PROCEDURE get_org_cust_v2_bo(
2867 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
2868 p_organization_id IN NUMBER,
2869 p_organization_os IN VARCHAR2,
2870 p_organization_osr IN VARCHAR2,
2871 x_org_cust_v2_obj OUT NOCOPY HZ_ORG_CUST_V2_BO,
2872 x_return_status OUT NOCOPY VARCHAR2,
2873 x_msg_count OUT NOCOPY NUMBER,
2874 x_msg_data OUT NOCOPY VARCHAR2
2875 ) is
2876 l_debug_prefix VARCHAR2(30) := '';
2877
2878 l_organization_id number;
2879 l_organization_os varchar2(30);
2880 l_organization_osr varchar2(255);
2881 BEGIN
2882
2883 -- initialize API return status to success.
2884 x_return_status := FND_API.G_RET_STS_SUCCESS;
2885
2886 -- Initialize message list if p_init_msg_list is set to TRUE
2887 IF FND_API.to_Boolean(p_init_msg_list) THEN
2888 FND_MSG_PUB.initialize;
2889 END IF;
2890
2891
2892 -- Debug info.
2893 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2894 hz_utility_v2pub.debug(p_message=>'hz_org_cust_bo_pub.get_org_cust_v2_bo(+)',
2895 p_prefix=>l_debug_prefix,
2896 p_msg_level=>fnd_log.level_procedure);
2897 END IF;
2898
2899 -- check if pass in contact_point_id and/or os+osr
2900 -- extraction validation logic is same as update
2901
2902 l_organization_id := p_organization_id;
2903 l_organization_os := p_organization_os;
2904 l_organization_osr := p_organization_osr;
2905
2906 HZ_EXTRACT_BO_UTIL_PVT.validate_ssm_id(
2907 px_id => l_organization_id,
2908 px_os => l_organization_os,
2909 px_osr => l_organization_osr,
2910 p_obj_type => 'ORGANIZATION',
2911 x_return_status => x_return_status,
2912 x_msg_count => x_msg_count,
2913 x_msg_data => x_msg_data);
2914
2915 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2916 RAISE fnd_api.g_exc_error;
2917 END IF;
2918
2919 HZ_EXTRACT_ORG_CUST_BO_PVT.get_org_cust_v2_bo(
2920 p_init_msg_list => fnd_api.g_false,
2921 p_organization_id => l_organization_id,
2922 p_action_type => NULL,
2923 x_org_cust_v2_obj => x_org_cust_v2_obj,
2924 x_return_status => x_return_status,
2925 x_msg_count => x_msg_count,
2926 x_msg_data => x_msg_data);
2927
2928 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2929 RAISE FND_API.G_EXC_ERROR;
2930 END IF;
2931
2932
2933 -- Debug info.
2934 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
2935 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
2936 p_msg_data=>x_msg_data,
2937 p_msg_type=>'WARNING',
2938 p_msg_level=>fnd_log.level_exception);
2939 END IF;
2940
2941 -- Debug info.
2942 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2943 hz_utility_v2pub.debug(p_message=>'hz_org_cust_bo_pub.get_org_cust_v2_bo (-)',
2944 p_prefix=>l_debug_prefix,
2945 p_msg_level=>fnd_log.level_procedure);
2946 END IF;
2947
2948
2949 EXCEPTION
2950
2951 WHEN fnd_api.g_exc_error THEN
2952 x_return_status := fnd_api.g_ret_sts_error;
2953
2954 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
2955 p_count => x_msg_count,
2956 p_data => x_msg_data);
2957
2958 -- Debug info.
2959 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
2960 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
2961 p_msg_data=>x_msg_data,
2962 p_msg_type=>'ERROR',
2963 p_msg_level=>fnd_log.level_error);
2964 END IF;
2965 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2966 hz_utility_v2pub.debug(p_message=>'hz_org_cust_bo_pub.get_org_cust_v2_bo (-)',
2967 p_prefix=>l_debug_prefix,
2968 p_msg_level=>fnd_log.level_procedure);
2969 END IF;
2970 WHEN fnd_api.g_exc_unexpected_error THEN
2971 x_return_status := fnd_api.g_ret_sts_unexp_error;
2972
2973 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
2974 p_count => x_msg_count,
2975 p_data => x_msg_data);
2976
2977 -- Debug info.
2978 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
2979 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
2980 p_msg_data=>x_msg_data,
2981 p_msg_type=>'UNEXPECTED ERROR',
2982 p_msg_level=>fnd_log.level_error);
2983 END IF;
2984 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2985 hz_utility_v2pub.debug(p_message=>'hz_org_cust_bo_pub.get_org_cust_v2_bo (-)',
2986 p_prefix=>l_debug_prefix,
2987 p_msg_level=>fnd_log.level_procedure);
2988 END IF;
2989 WHEN OTHERS THEN
2990 x_return_status := fnd_api.g_ret_sts_unexp_error;
2991
2992 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
2993 fnd_message.set_token('ERROR' ,SQLERRM);
2994 fnd_msg_pub.add;
2995
2996 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
2997 p_count => x_msg_count,
2998 p_data => x_msg_data);
2999
3000 -- Debug info.
3001 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
3002 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3003 p_msg_data=>x_msg_data,
3004 p_msg_type=>'SQL ERROR',
3005 p_msg_level=>fnd_log.level_error);
3006 END IF;
3007 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3008 hz_utility_v2pub.debug(p_message=>'hz_org_cust_bo_pub.get_org_cust_v2_bo (-)',
3009 p_prefix=>l_debug_prefix,
3010 p_msg_level=>fnd_log.level_procedure);
3011 END IF;
3012
3013 end;
3014
3015 PROCEDURE get_org_cust_v2_bo(
3016 p_organization_id IN NUMBER,
3017 p_organization_os IN VARCHAR2,
3018 p_organization_osr IN VARCHAR2,
3019 x_org_cust_v2_obj OUT NOCOPY HZ_ORG_CUST_V2_BO,
3020 x_return_status OUT NOCOPY VARCHAR2,
3021 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL
3022 ) IS
3023 l_msg_data VARCHAR2(2000);
3024 l_msg_count NUMBER;
3025 BEGIN
3026 get_org_cust_v2_bo(
3027 p_init_msg_list => fnd_api.g_true,
3028 p_organization_id => p_organization_id,
3029 p_organization_os => p_organization_os,
3030 p_organization_osr => p_organization_osr,
3031 x_org_cust_v2_obj => x_org_cust_v2_obj,
3032 x_return_status => x_return_status,
3033 x_msg_count => l_msg_count,
3034 x_msg_data => l_msg_data
3035 );
3036 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
3037 x_return_status => x_return_status,
3038 x_msg_count => l_msg_count,
3039 x_msg_data => l_msg_data);
3040 END get_org_cust_v2_bo;
3041
3042 --------------------------------------
3043 --
3044 -- PROCEDURE get_v2_org_custs_created
3045 --
3046 -- DESCRIPTION
3047 --The caller provides an identifier for the Organization Customers created business event and
3048 --the procedure returns database objects of the type HZ_ORG CUSTOMER_V2_BO for all of
3049 --the Organization Customer business objects from the business event.
3050
3051 --
3052 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
3053 --
3054 -- ARGUMENTS
3055 -- IN:
3056 -- p_init_msg_list Initialize message stack if it is set to
3057 -- p_event_id BES Event identifier.
3058 -- FND_API.G_TRUE. Default is FND_API.G_FALSE.
3059 -- OUT:
3060 -- x_org_cust_v2_objs One or more created logical organization customer.
3061 -- x_return_status Return status after the call. The status can
3062 -- be fnd_api.g_ret_sts_success (success),
3063 -- fnd_api.g_ret_sts_error (error),
3064 -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
3065 -- x_msg_count Number of messages in message stack.
3066 -- x_msg_data Message text if x_msg_count is 1.
3067 --
3068 -- NOTES
3069 --
3070 -- MODIFICATION HISTORY
3071 --
3072 -- 04-FEB-2008 VSEGU Created.
3073 --
3074
3075
3076
3077 /*
3078 The Get organization customers Created procedure is a service to retrieve all of the Organization Customer business objects
3079 whose creations have been captured by a logical business event. Each Organization Customers Created
3080 business event signifies that one or more Organization Customer business objects have been created.
3081 The caller provides an identifier for the Organization Customers Created business event and the procedure
3082 returns all of the Organization Customer business objects from the business event. For each business object
3083 creation captured in the business event, the procedure calls the generic Get operation:
3084 HZ_ORG_BO_PVT.get_org_bo
3085
3086 Gathering all of the returned business objects from those API calls, the procedure packages
3087 them in a table structure and returns them to the caller.
3088 */
3089
3090
3091 PROCEDURE get_v2_org_custs_created(
3092 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
3093 p_event_id IN NUMBER,
3094 x_org_cust_v2_objs OUT NOCOPY HZ_ORG_CUST_V2_BO_TBL,
3095 x_return_status OUT NOCOPY VARCHAR2,
3096 x_msg_count OUT NOCOPY NUMBER,
3097 x_msg_data OUT NOCOPY VARCHAR2
3098 ) is
3099 l_debug_prefix VARCHAR2(30) := '';
3100 begin
3101
3102 -- initialize API return status to success.
3103 x_return_status := FND_API.G_RET_STS_SUCCESS;
3104
3105 -- Initialize message list if p_init_msg_list is set to TRUE
3106 IF FND_API.to_Boolean(p_init_msg_list) THEN
3107 FND_MSG_PUB.initialize;
3108 END IF;
3109
3110
3111 -- Debug info.
3112 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3113 hz_utility_v2pub.debug(p_message=>'hz_org_cust_bo_pub.get_v2_org_custs_created(+)',
3114 p_prefix=>l_debug_prefix,
3115 p_msg_level=>fnd_log.level_procedure);
3116 END IF;
3117
3118 HZ_EXTRACT_BO_UTIL_PVT.validate_event_id(p_event_id => p_event_id,
3119 p_party_id => null,
3120 p_event_type => 'C',
3121 p_bo_code => 'ORG_CUST',
3122 x_return_status => x_return_status);
3123
3124 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3125 RAISE FND_API.G_EXC_ERROR;
3126 END IF;
3127
3128 HZ_EXTRACT_ORG_CUST_BO_PVT.get_v2_org_custs_created(
3129 p_init_msg_list => fnd_api.g_false,
3130 p_event_id => p_event_id,
3131 x_org_cust_v2_objs => x_org_cust_v2_objs,
3132 x_return_status => x_return_status,
3133 x_msg_count => x_msg_count,
3134 x_msg_data => x_msg_data);
3135
3136 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3137 RAISE FND_API.G_EXC_ERROR;
3138 END IF;
3139
3140
3141
3142 -- Debug info.
3143 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
3144 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3145 p_msg_data=>x_msg_data,
3146 p_msg_type=>'WARNING',
3147 p_msg_level=>fnd_log.level_exception);
3148 END IF;
3149
3150 -- Debug info.
3151 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3152 hz_utility_v2pub.debug(p_message=>'hz_org_cust_bo_pub.get_v2_org_custs_created (-)',
3153 p_prefix=>l_debug_prefix,
3154 p_msg_level=>fnd_log.level_procedure);
3155 END IF;
3156
3157
3158 EXCEPTION
3159
3160 WHEN fnd_api.g_exc_error THEN
3161 x_return_status := fnd_api.g_ret_sts_error;
3162
3163 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
3164 p_count => x_msg_count,
3165 p_data => x_msg_data);
3166
3167 -- Debug info.
3168 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
3169 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3170 p_msg_data=>x_msg_data,
3171 p_msg_type=>'ERROR',
3172 p_msg_level=>fnd_log.level_error);
3173 END IF;
3174 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3175 hz_utility_v2pub.debug(p_message=>'hz_org_cust_bo_pub.get_v2_org_custs_created(-)',
3176 p_prefix=>l_debug_prefix,
3177 p_msg_level=>fnd_log.level_procedure);
3178 END IF;
3179 WHEN fnd_api.g_exc_unexpected_error THEN
3180 x_return_status := fnd_api.g_ret_sts_unexp_error;
3181
3182 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
3183 p_count => x_msg_count,
3184 p_data => x_msg_data);
3185
3186 -- Debug info.
3187 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
3188 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3189 p_msg_data=>x_msg_data,
3190 p_msg_type=>'UNEXPECTED ERROR',
3191 p_msg_level=>fnd_log.level_error);
3192 END IF;
3193 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3194 hz_utility_v2pub.debug(p_message=>'hz_org_cust_bo_pub.get_v2_org_custs_created(-)',
3195 p_prefix=>l_debug_prefix,
3196 p_msg_level=>fnd_log.level_procedure);
3197 END IF;
3198 WHEN OTHERS THEN
3199 x_return_status := fnd_api.g_ret_sts_unexp_error;
3200
3201 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
3202 fnd_message.set_token('ERROR' ,SQLERRM);
3203 fnd_msg_pub.add;
3204
3205 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
3206 p_count => x_msg_count,
3207 p_data => x_msg_data);
3208
3209 -- Debug info.
3210 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
3211 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3212 p_msg_data=>x_msg_data,
3213 p_msg_type=>'SQL ERROR',
3214 p_msg_level=>fnd_log.level_error);
3215 END IF;
3216 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3217 hz_utility_v2pub.debug(p_message=>'hz_org_cust_bo_pub.get_v2_org_custs_created(-)',
3218 p_prefix=>l_debug_prefix,
3219 p_msg_level=>fnd_log.level_procedure);
3220 END IF;
3221
3222 end;
3223
3224 PROCEDURE get_v2_org_custs_created(
3225 p_event_id IN NUMBER,
3226 x_org_cust_v2_objs OUT NOCOPY HZ_ORG_CUST_V2_BO_TBL,
3227 x_return_status OUT NOCOPY VARCHAR2,
3228 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL
3229 ) IS
3230 l_msg_data VARCHAR2(2000);
3231 l_msg_count NUMBER;
3232 BEGIN
3233 get_v2_org_custs_created(
3234 p_init_msg_list => fnd_api.g_true,
3235 p_event_id => p_event_id,
3236 x_org_cust_v2_objs => x_org_cust_v2_objs,
3237 x_return_status => x_return_status,
3238 x_msg_count => l_msg_count,
3239 x_msg_data => l_msg_data
3240 );
3241 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
3242 x_return_status => x_return_status,
3243 x_msg_count => l_msg_count,
3244 x_msg_data => l_msg_data);
3245 END get_v2_org_custs_created;
3246
3247 --------------------------------------
3248 --
3249 -- PROCEDURE get_v2_org_custs_updated
3250 --
3251 -- DESCRIPTION
3252 --The caller provides an identifier for the Organization Customers update business event and
3253 --the procedure returns database objects of the type HZ_ORG_CUST_V2_BO for all of
3254 --the Organization Customer business objects from the business event.
3255
3256 --
3257 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
3258 --
3259 -- ARGUMENTS
3260 -- IN:
3261 -- p_init_msg_list Initialize message stack if it is set to
3262 -- p_event_id BES Event identifier.
3263 -- FND_API.G_TRUE. Default is FND_API.G_FALSE.
3264 -- OUT:
3265 -- x_org_cust_v2_objs One or more created logical org.
3266 -- x_return_status Return status after the call. The status can
3267 -- be fnd_api.g_ret_sts_success (success),
3268 -- fnd_api.g_ret_sts_error (error),
3269 -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
3270 -- x_msg_count Number of messages in message stack.
3271 -- x_msg_data Message text if x_msg_count is 1.
3272 --
3273 -- NOTES
3274 --
3275 -- MODIFICATION HISTORY
3276 --
3277 -- 04-FEB-2008 VSEGU Created.
3278 --
3279
3280
3281
3282 /*
3283 The Get Organization Customers Updated procedure is a service to retrieve all of the Organization Customer business objects whose
3284 updates have been captured by the logical business event. Each Organization Customers Updated business event signifies that one or
3285 more Organization Customer business objects have been updated.
3286 The caller provides an identifier for the Organization Customers Update business event and the procedure returns database objects
3287 of the type HZ_ORG_CUST_V2_BO for all of the Organization Customer business objects from the business event.
3288 Gathering all of the returned database objects from those API calls, the procedure packages them in a table structure and returns
3289 them to the caller.
3290 */
3291
3292 PROCEDURE get_v2_org_custs_updated(
3293 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
3294 p_event_id IN NUMBER,
3295 x_org_cust_v2_objs OUT NOCOPY HZ_ORG_CUST_V2_BO_TBL,
3296 x_return_status OUT NOCOPY VARCHAR2,
3297 x_msg_count OUT NOCOPY NUMBER,
3298 x_msg_data OUT NOCOPY VARCHAR2
3299 ) is
3300
3301 l_debug_prefix VARCHAR2(30) := '';
3302 begin
3303
3304 -- initialize API return status to success.
3305 x_return_status := FND_API.G_RET_STS_SUCCESS;
3306
3307 -- Initialize message list if p_init_msg_list is set to TRUE
3308 IF FND_API.to_Boolean(p_init_msg_list) THEN
3309 FND_MSG_PUB.initialize;
3310 END IF;
3311
3312
3313 -- Debug info.
3314 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3315 hz_utility_v2pub.debug(p_message=>'hz_org_cust_bo_pub.get_v2_org_custs_updated(+)',
3316 p_prefix=>l_debug_prefix,
3317 p_msg_level=>fnd_log.level_procedure);
3318 END IF;
3319
3320 HZ_EXTRACT_BO_UTIL_PVT.validate_event_id(p_event_id => p_event_id,
3321 p_party_id => null,
3322 p_event_type => 'U',
3323 p_bo_code => 'ORG_CUST',
3324 x_return_status => x_return_status);
3325
3326 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3327 RAISE FND_API.G_EXC_ERROR;
3328 END IF;
3329
3330 HZ_EXTRACT_ORG_CUST_BO_PVT.get_v2_org_custs_updated(
3331 p_init_msg_list => fnd_api.g_false,
3332 p_event_id => p_event_id,
3333 x_org_cust_v2_objs => x_org_cust_v2_objs,
3334 x_return_status => x_return_status,
3335 x_msg_count => x_msg_count,
3336 x_msg_data => x_msg_data);
3337
3338 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3339 RAISE FND_API.G_EXC_ERROR;
3340 END IF;
3341
3342
3343
3344 -- Debug info.
3345 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
3346 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3347 p_msg_data=>x_msg_data,
3348 p_msg_type=>'WARNING',
3349 p_msg_level=>fnd_log.level_exception);
3350 END IF;
3351
3352 -- Debug info.
3353 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3354 hz_utility_v2pub.debug(p_message=>'hz_org_cust_bo_pub.get_v2_org_custs_updated (-)',
3355 p_prefix=>l_debug_prefix,
3356 p_msg_level=>fnd_log.level_procedure);
3357 END IF;
3358
3359
3360 EXCEPTION
3361
3362 WHEN fnd_api.g_exc_error THEN
3363 x_return_status := fnd_api.g_ret_sts_error;
3364
3365 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
3366 p_count => x_msg_count,
3367 p_data => x_msg_data);
3368
3369 -- Debug info.
3370 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
3371 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3372 p_msg_data=>x_msg_data,
3373 p_msg_type=>'ERROR',
3374 p_msg_level=>fnd_log.level_error);
3375 END IF;
3376 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3377 hz_utility_v2pub.debug(p_message=>'hz_org_cust_bo_pub.get_v2_org_custs_updated(-)',
3378 p_prefix=>l_debug_prefix,
3379 p_msg_level=>fnd_log.level_procedure);
3380 END IF;
3381 WHEN fnd_api.g_exc_unexpected_error THEN
3382 x_return_status := fnd_api.g_ret_sts_unexp_error;
3383
3384 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
3385 p_count => x_msg_count,
3386 p_data => x_msg_data);
3387
3388 -- Debug info.
3389 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
3390 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3391 p_msg_data=>x_msg_data,
3392 p_msg_type=>'UNEXPECTED ERROR',
3393 p_msg_level=>fnd_log.level_error);
3394 END IF;
3395 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3396 hz_utility_v2pub.debug(p_message=>'hz_org_cust_bo_pub.get_v2_org_custs_updated(-)',
3397 p_prefix=>l_debug_prefix,
3398 p_msg_level=>fnd_log.level_procedure);
3399 END IF;
3400 WHEN OTHERS THEN
3401 x_return_status := fnd_api.g_ret_sts_unexp_error;
3402
3403 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
3404 fnd_message.set_token('ERROR' ,SQLERRM);
3405 fnd_msg_pub.add;
3406
3407 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
3408 p_count => x_msg_count,
3409 p_data => x_msg_data);
3410
3411 -- Debug info.
3412 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
3413 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3414 p_msg_data=>x_msg_data,
3415 p_msg_type=>'SQL ERROR',
3416 p_msg_level=>fnd_log.level_error);
3417 END IF;
3418 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3419 hz_utility_v2pub.debug(p_message=>'hz_org_cust_bo_pub.get_v2_org_custs_updated(-)',
3420 p_prefix=>l_debug_prefix,
3421 p_msg_level=>fnd_log.level_procedure);
3422 END IF;
3423
3424 end;
3425
3426 PROCEDURE get_v2_org_custs_updated(
3427 p_event_id IN NUMBER,
3428 x_org_cust_v2_objs OUT NOCOPY HZ_ORG_CUST_V2_BO_TBL,
3429 x_return_status OUT NOCOPY VARCHAR2,
3430 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL
3431 ) IS
3432 l_msg_data VARCHAR2(2000);
3433 l_msg_count NUMBER;
3434 BEGIN
3435 get_v2_org_custs_updated(
3436 p_init_msg_list => fnd_api.g_true,
3437 p_event_id => p_event_id,
3438 x_org_cust_v2_objs => x_org_cust_v2_objs,
3439 x_return_status => x_return_status,
3440 x_msg_count => l_msg_count,
3441 x_msg_data => l_msg_data
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 END get_v2_org_custs_updated;
3448
3449
3450 PROCEDURE get_v2_org_cust_updated(
3451 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
3452 p_event_id IN NUMBER,
3453 p_org_cust_id IN NUMBER,
3454 x_org_cust_v2_obj OUT NOCOPY HZ_ORG_CUST_V2_BO,
3455 x_return_status OUT NOCOPY VARCHAR2,
3456 x_msg_count OUT NOCOPY NUMBER,
3457 x_msg_data OUT NOCOPY VARCHAR2
3458 ) is
3459 l_debug_prefix VARCHAR2(30) := '';
3460 begin
3461
3462 -- initialize API return status to success.
3463 x_return_status := FND_API.G_RET_STS_SUCCESS;
3464
3465 -- Initialize message list if p_init_msg_list is set to TRUE
3466 IF FND_API.to_Boolean(p_init_msg_list) THEN
3467 FND_MSG_PUB.initialize;
3468 END IF;
3469
3470
3471 -- Debug info.
3472 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3473 hz_utility_v2pub.debug(p_message=>'hz_org_cust_bo_pub.get_v2_org_cust_updated(+)',
3474 p_prefix=>l_debug_prefix,
3475 p_msg_level=>fnd_log.level_procedure);
3476 END IF;
3477
3478 HZ_EXTRACT_BO_UTIL_PVT.validate_event_id(p_event_id => p_event_id,
3479 p_party_id => p_org_cust_id,
3480 p_event_type => 'U',
3481 p_bo_code => 'ORG_CUST',
3482 x_return_status => x_return_status);
3483
3484 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3485 RAISE FND_API.G_EXC_ERROR;
3486 END IF;
3487
3488 HZ_EXTRACT_ORG_CUST_BO_PVT.get_v2_org_cust_updated(
3489 p_init_msg_list => fnd_api.g_false,
3490 p_event_id => p_event_id,
3491 p_org_cust_id => p_org_cust_id,
3492 x_org_cust_v2_obj => x_org_cust_v2_obj,
3493 x_return_status => x_return_status,
3494 x_msg_count => x_msg_count,
3495 x_msg_data => x_msg_data);
3496
3497 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3498 RAISE FND_API.G_EXC_ERROR;
3499 END IF;
3500
3501
3502
3503 -- Debug info.
3504 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
3505 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3506 p_msg_data=>x_msg_data,
3507 p_msg_type=>'WARNING',
3508 p_msg_level=>fnd_log.level_exception);
3509 END IF;
3510
3511 -- Debug info.
3512 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3513 hz_utility_v2pub.debug(p_message=>'hz_org_cust_bo_pub.get_v2_org_cust_updated (-)',
3514 p_prefix=>l_debug_prefix,
3515 p_msg_level=>fnd_log.level_procedure);
3516 END IF;
3517
3518
3519 EXCEPTION
3520
3521 WHEN fnd_api.g_exc_error THEN
3522 x_return_status := fnd_api.g_ret_sts_error;
3523
3524 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
3525 p_count => x_msg_count,
3526 p_data => x_msg_data);
3527
3528 -- Debug info.
3529 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
3530 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3531 p_msg_data=>x_msg_data,
3532 p_msg_type=>'ERROR',
3533 p_msg_level=>fnd_log.level_error);
3534 END IF;
3535 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3536 hz_utility_v2pub.debug(p_message=>'hz_org_cust_bo_pub.get_v2_org_cust_updated(-)',
3537 p_prefix=>l_debug_prefix,
3538 p_msg_level=>fnd_log.level_procedure);
3539 END IF;
3540 WHEN fnd_api.g_exc_unexpected_error THEN
3541 x_return_status := fnd_api.g_ret_sts_unexp_error;
3542
3543 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
3544 p_count => x_msg_count,
3545 p_data => x_msg_data);
3546
3547 -- Debug info.
3548 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
3549 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3550 p_msg_data=>x_msg_data,
3551 p_msg_type=>'UNEXPECTED ERROR',
3552 p_msg_level=>fnd_log.level_error);
3553 END IF;
3554 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3555 hz_utility_v2pub.debug(p_message=>'hz_org_cust_bo_pub.get_v2_org_cust_updated(-)',
3556 p_prefix=>l_debug_prefix,
3557 p_msg_level=>fnd_log.level_procedure);
3558 END IF;
3559 WHEN OTHERS THEN
3560 x_return_status := fnd_api.g_ret_sts_unexp_error;
3561
3562 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
3563 fnd_message.set_token('ERROR' ,SQLERRM);
3564 fnd_msg_pub.add;
3565
3566 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
3567 p_count => x_msg_count,
3568 p_data => x_msg_data);
3569
3570 -- Debug info.
3571 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
3572 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3573 p_msg_data=>x_msg_data,
3574 p_msg_type=>'SQL ERROR',
3575 p_msg_level=>fnd_log.level_error);
3576 END IF;
3577 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3578 hz_utility_v2pub.debug(p_message=>'hz_org_cust_bo_pub.get_v2_org_cust_updated(-)',
3579 p_prefix=>l_debug_prefix,
3580 p_msg_level=>fnd_log.level_procedure);
3581 END IF;
3582
3583 end;
3584
3585 PROCEDURE get_v2_org_cust_updated(
3586 p_event_id IN NUMBER,
3587 p_org_cust_id IN NUMBER,
3588 x_org_cust_v2_obj OUT NOCOPY HZ_ORG_CUST_V2_BO,
3589 x_return_status OUT NOCOPY VARCHAR2,
3590 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL
3591 ) IS
3592 l_msg_data VARCHAR2(2000);
3593 l_msg_count NUMBER;
3594 BEGIN
3595 get_v2_org_cust_updated(
3596 p_init_msg_list => fnd_api.g_false,
3597 p_event_id => p_event_id,
3598 p_org_cust_id => p_org_cust_id,
3599 x_org_cust_v2_obj => x_org_cust_v2_obj,
3600 x_return_status => x_return_status,
3601 x_msg_count => l_msg_count,
3602 x_msg_data => l_msg_data
3603 );
3604 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
3605 x_return_status => x_return_status,
3606 x_msg_count => l_msg_count,
3607 x_msg_data => l_msg_data);
3608 END get_v2_org_cust_updated;
3609
3610 END hz_org_cust_bo_pub;