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