DBA Data[Home] [Help]

PACKAGE BODY: APPS.HZ_ORIG_SYSTEM_REF_BO_PUB

Source


1 PACKAGE BODY hz_orig_system_ref_bo_pub AS
2 /*$Header: ARHBOSBB.pls 120.4.12000000.3 2007/04/06 19:32:06 awu ship $ */
3 
4   -- PRIVATE PROCEDURE assign_orig_sys_ref
5   --
6   -- DESCRIPTION
7   --     Assign attribute value from object to plsql record
8   --
9   -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
10   --
11   -- ARGUMENTS
12   --   IN:
13   --     p_orig_sys_obj       Original system reference object.
14   --   OUT:
15   --     x_orig_sys_rec       Original system plsql record.
16   --
17   -- NOTES
18   --
19   -- MODIFICATION HISTORY
20   --
21   --   14-DEC-2004    Arnold Ng          Created.
22   --
23 
24   PROCEDURE assign_orig_sys_ref(
25     p_orig_sys_obj        IN            HZ_ORIG_SYS_REF_OBJ,
26     x_orig_sys_rec        OUT NOCOPY    HZ_ORIG_SYSTEM_REF_PUB.ORIG_SYS_REFERENCE_REC_TYPE
27   );
28 
29   -- PRIVATE PROCEDURE assign_orig_sys_ref
30   --
31   -- DESCRIPTION
32   --     Assign attribute value from object to plsql record
33   --
34   -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
35   --
36   -- ARGUMENTS
37   --   IN:
38   --     p_orig_sys_obj       Original system reference object.
39   --   OUT:
40   --     x_orig_sys_rec       Original system plsql record.
41   --
42   -- NOTES
43   --
44   -- MODIFICATION HISTORY
45   --
46   --   14-DEC-2004    Arnold Ng          Created.
47   --
48 
49   PROCEDURE assign_orig_sys_ref(
50     p_orig_sys_obj        IN            HZ_ORIG_SYS_REF_OBJ,
51     x_orig_sys_rec        OUT NOCOPY    HZ_ORIG_SYSTEM_REF_PUB.ORIG_SYS_REFERENCE_REC_TYPE
52   ) IS
53   BEGIN
54     x_orig_sys_rec.orig_system := p_orig_sys_obj.orig_system;
55     x_orig_sys_rec.orig_system_reference := p_orig_sys_obj.orig_system_reference;
56 -- Bug 5931699
57     if p_orig_sys_obj.object_type = 'ORG_CONTACT'
58     then
59         x_orig_sys_rec.owner_table_name := 'HZ_ORG_CONTACTS';
60     else
61         x_orig_sys_rec.owner_table_name := HZ_REGISTRY_VALIDATE_BO_PVT.get_owner_table_name(p_orig_sys_obj.object_type);
62     end if;
63  --   x_orig_sys_rec.owner_table_name := HZ_REGISTRY_VALIDATE_BO_PVT.get_owner_table_name(p_orig_sys_obj.object_type);
64     x_orig_sys_rec.owner_table_id := p_orig_sys_obj.object_id;
65     x_orig_sys_rec.status := p_orig_sys_obj.status;
66     x_orig_sys_rec.reason_code := p_orig_sys_obj.reason_code;
67     x_orig_sys_rec.start_date_active := p_orig_sys_obj.start_date_active;
68     x_orig_sys_rec.end_date_active := p_orig_sys_obj.end_date_active;
69     x_orig_sys_rec.created_by_module := HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE;
70     x_orig_sys_rec.attribute_category := p_orig_sys_obj.attribute_category;
71     x_orig_sys_rec.attribute1 := p_orig_sys_obj.attribute1;
72     x_orig_sys_rec.attribute2 := p_orig_sys_obj.attribute2;
73     x_orig_sys_rec.attribute3 := p_orig_sys_obj.attribute3;
74     x_orig_sys_rec.attribute4 := p_orig_sys_obj.attribute4;
75     x_orig_sys_rec.attribute5 := p_orig_sys_obj.attribute5;
76     x_orig_sys_rec.attribute6 := p_orig_sys_obj.attribute6;
77     x_orig_sys_rec.attribute7 := p_orig_sys_obj.attribute7;
78     x_orig_sys_rec.attribute8 := p_orig_sys_obj.attribute8;
79     x_orig_sys_rec.attribute9 := p_orig_sys_obj.attribute9;
80     x_orig_sys_rec.attribute10 := p_orig_sys_obj.attribute10;
81     x_orig_sys_rec.attribute11 := p_orig_sys_obj.attribute11;
82     x_orig_sys_rec.attribute12 := p_orig_sys_obj.attribute12;
83     x_orig_sys_rec.attribute13 := p_orig_sys_obj.attribute13;
84     x_orig_sys_rec.attribute14 := p_orig_sys_obj.attribute14;
85     x_orig_sys_rec.attribute15 := p_orig_sys_obj.attribute15;
86     x_orig_sys_rec.attribute16 := p_orig_sys_obj.attribute16;
87     x_orig_sys_rec.attribute17 := p_orig_sys_obj.attribute17;
88     x_orig_sys_rec.attribute18 := p_orig_sys_obj.attribute18;
89     x_orig_sys_rec.attribute19 := p_orig_sys_obj.attribute19;
90     x_orig_sys_rec.attribute20 := p_orig_sys_obj.attribute20;
91     x_orig_sys_rec.old_orig_system_reference := p_orig_sys_obj.old_orig_system_reference;
92   END assign_orig_sys_ref;
93 
94   -- PROCEDURE create_orig_sys_refs_bo
95   --
96   -- DESCRIPTION
97   --     Create original system references
98   --
99   -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
100   --
101   -- ARGUMENTS
102   --   IN:
103   --     p_init_msg_list      Initialize message stack if it is set to
104   --                          FND_API.G_TRUE. Default is FND_API.G_FALSE.
105   --     p_orig_sys_refs      List of original system reference objects.
106   --     p_created_by_module  Created by module.
107   --   OUT:
108   --     x_return_status      Return status after the call. The status can
109   --                          be fnd_api.g_ret_sts_success (success),
110   --                          fnd_api.g_ret_sts_error (error),
111   --                          FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
112   --     x_msg_count          Number of messages in message stack.
113   --     x_msg_data           Message text if x_msg_count is 1.
114   --
115   -- NOTES
116   --
117   -- MODIFICATION HISTORY
118   --
119   --   14-DEC-2004    Arnold Ng          Created.
120   --
121 
122   PROCEDURE create_orig_sys_refs_bo(
123     p_init_msg_list       IN            VARCHAR2 := fnd_api.g_false,
124     p_orig_sys_refs       IN            HZ_ORIG_SYS_REF_OBJ_TBL,
125     p_created_by_module   IN            VARCHAR2,
126     x_return_status       OUT NOCOPY    VARCHAR2,
127     x_msg_count           OUT NOCOPY    NUMBER,
128     x_msg_data            OUT NOCOPY    VARCHAR2
129   ) IS
130     l_otn                 VARCHAR2(30);
131     l_ososr_rec           HZ_ORIG_SYSTEM_REF_PUB.ORIG_SYS_REFERENCE_REC_TYPE;
132     l_debug_prefix        VARCHAR2(30);
133   BEGIN
134     -- Standard start of API savepoint
135     SAVEPOINT create_osr_bo_pub;
136 
137     -- initialize API return status to success.
138     x_return_status := FND_API.G_RET_STS_SUCCESS;
139 
140     -- Initialize message list if p_init_msg_list is set to TRUE
141     IF FND_API.to_Boolean(p_init_msg_list) THEN
142       FND_MSG_PUB.initialize;
143     END IF;
144 
145     IF(p_created_by_module IS NULL) THEN
146       HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := 'BO_API';
147     ELSE
148       HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := p_created_by_module;
149     END IF;
150 
151     -- Debug info.
152     IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
153         hz_utility_v2pub.debug(p_message=>'create_orig_sys_ref_bo(+)',
154                                p_prefix=>l_debug_prefix,
155                                p_msg_level=>fnd_log.level_procedure);
156     END IF;
157 
158     FOR i IN 1..p_orig_sys_refs.COUNT LOOP
159       IF(p_orig_sys_refs(i).object_id IS NULL) THEN
160         FND_MESSAGE.SET_NAME('AR','HZ_API_NULL_PARAM');
161         FND_MESSAGE.SET_TOKEN('PARAMETER', 'object_id');
162         FND_MSG_PUB.ADD();
163         RAISE FND_API.G_EXC_ERROR;
164       END IF;
165 
166       IF(p_orig_sys_refs(i).orig_system IS NULL) THEN
167         FND_MESSAGE.SET_NAME('AR','HZ_API_NULL_PARAM');
168         FND_MESSAGE.SET_TOKEN('PARAMETER', 'object_id');
169         FND_MSG_PUB.ADD();
170         RAISE FND_API.G_EXC_ERROR;
171       END IF;
172 
173       IF(p_orig_sys_refs(i).orig_system_reference IS NULL) THEN
174         FND_MESSAGE.SET_NAME('AR','HZ_API_NULL_PARAM');
175         FND_MESSAGE.SET_TOKEN('PARAMETER', 'object_id');
176         FND_MSG_PUB.ADD();
177         RAISE FND_API.G_EXC_ERROR;
178       END IF;
179 
180       IF(p_orig_sys_refs(i).orig_system_ref_id IS NOT NULL) THEN
181         FND_MESSAGE.SET_NAME('AR','HZ_API_CANNOT_PASS_PK');
182         FND_MSG_PUB.ADD();
183         RAISE FND_API.G_EXC_ERROR;
184       END IF;
185 
186       assign_orig_sys_ref(
187         p_orig_sys_obj     => p_orig_sys_refs(i),
188         x_orig_sys_rec     => l_ososr_rec
189       );
190 
191       HZ_ORIG_SYSTEM_REF_PUB.create_orig_system_reference(
192         p_init_msg_list          => p_init_msg_list,
193         p_orig_sys_reference_rec => l_ososr_rec,
194         x_return_status          => x_return_status,
195         x_msg_count              => x_msg_count,
196         x_msg_data               => x_msg_data
197       );
198       IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
199         RAISE FND_API.G_EXC_ERROR;
200       END IF;
201     END LOOP;
202     -- Debug info.
203     IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
204          hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
205                                p_msg_data=>x_msg_data,
206                                p_msg_type=>'WARNING',
207                                p_msg_level=>fnd_log.level_exception);
208     END IF;
209     IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
210         hz_utility_v2pub.debug(p_message=>'create_orig_sys_ref_bo(-)',
211                                p_prefix=>l_debug_prefix,
212                                p_msg_level=>fnd_log.level_procedure);
213     END IF;
214   EXCEPTION
215     WHEN fnd_api.g_exc_error THEN
216       ROLLBACK TO create_osr_bo_pub;
217       x_return_status := fnd_api.g_ret_sts_error;
218 
219       FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_ENTITY_ERROR');
220       FND_MESSAGE.SET_TOKEN('ENTITY', 'ORIG_SYSTEM');
221       FND_MSG_PUB.ADD;
222       fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
223                                 p_count => x_msg_count,
224                                 p_data  => x_msg_data);
225 
226       -- Debug info.
227       IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
228         hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
229                                p_msg_data=>x_msg_data,
230                                p_msg_type=>'ERROR',
231                                p_msg_level=>fnd_log.level_error);
232       END IF;
233       IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
234         hz_utility_v2pub.debug(p_message=>'create_orig_sys_refs_bo(-)',
235                                p_prefix=>l_debug_prefix,
236                                p_msg_level=>fnd_log.level_procedure);
237       END IF;
238 
239     WHEN fnd_api.g_exc_unexpected_error THEN
240       ROLLBACK TO create_osr_bo_pub;
241       x_return_status := fnd_api.g_ret_sts_unexp_error;
242 
243       fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
244                                 p_count => x_msg_count,
245                                 p_data  => x_msg_data);
246 
247       -- Debug info.
248       IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
249         hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
250                                p_msg_data=>x_msg_data,
251                                p_msg_type=>'UNEXPECTED ERROR',
252                                p_msg_level=>fnd_log.level_error);
253       END IF;
254       IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
255         hz_utility_v2pub.debug(p_message=>'create_orig_sys_refs_bo(-)',
256                                p_prefix=>l_debug_prefix,
257                                p_msg_level=>fnd_log.level_procedure);
258       END IF;
259     WHEN OTHERS THEN
260       ROLLBACK TO create_osr_bo_pub;
261       x_return_status := fnd_api.g_ret_sts_unexp_error;
262 
263       fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
264       fnd_message.set_token('ERROR' ,SQLERRM);
265       fnd_msg_pub.add;
266 
267       fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
268                                 p_count => x_msg_count,
269                                 p_data  => x_msg_data);
270 
271       -- Debug info.
272       IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
273         hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
274                                p_msg_data=>x_msg_data,
275                                p_msg_type=>'SQL ERROR',
276                                p_msg_level=>fnd_log.level_error);
277       END IF;
278       IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
279         hz_utility_v2pub.debug(p_message=>'create_orig_sys_refs_bo(-)',
280                                p_prefix=>l_debug_prefix,
281                                p_msg_level=>fnd_log.level_procedure);
282       END IF;
283   END create_orig_sys_refs_bo;
284 
285   PROCEDURE create_orig_sys_refs_bo(
286     p_orig_sys_refs       IN            HZ_ORIG_SYS_REF_OBJ_TBL,
287     p_created_by_module   IN            VARCHAR2,
288     x_return_status       OUT NOCOPY    VARCHAR2,
289     x_msg_count           OUT NOCOPY    NUMBER,
290     x_msg_data            OUT NOCOPY    HZ_MESSAGE_OBJ_TBL
291   ) IS
292     l_msg_data            VARCHAR2(2000);
293   BEGIN
294     create_orig_sys_refs_bo(
295       p_init_msg_list       => fnd_api.g_true,
296       p_orig_sys_refs       => p_orig_sys_refs,
297       p_created_by_module   => p_created_by_module,
298       x_return_status       => x_return_status,
299       x_msg_count           => x_msg_count,
300       x_msg_data            => l_msg_data
301     );
302     x_msg_data := HZ_PARTY_BO_PVT.return_all_messages(
303                     x_return_status   => x_return_status,
304                     x_msg_count       => x_msg_count,
305                     x_msg_data        => l_msg_data);
306   END create_orig_sys_refs_bo;
307 
308   -- PROCEDURE update_orig_sys_refs_bo
309   --
310   -- DESCRIPTION
311   --     Update original system references
312   --
313   -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
314   --
315   -- ARGUMENTS
316   --   IN:
317   --     p_init_msg_list      Initialize message stack if it is set to
318   --                          FND_API.G_TRUE. Default is FND_API.G_FALSE.
319   --     p_orig_sys_refs      List of original system reference objects.
320   --   OUT:
321   --     x_return_status      Return status after the call. The status can
322   --                          be fnd_api.g_ret_sts_success (success),
323   --                          fnd_api.g_ret_sts_error (error),
324   --                          FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
325   --     x_msg_count          Number of messages in message stack.
326   --     x_msg_data           Message text if x_msg_count is 1.
327   --
328   -- NOTES
329   --
330   -- MODIFICATION HISTORY
331   --
332   --   14-DEC-2004    Arnold Ng          Created.
333   --
334 
335   PROCEDURE update_orig_sys_refs_bo(
336     p_init_msg_list       IN            VARCHAR2 := fnd_api.g_false,
337     p_orig_sys_refs       IN            HZ_ORIG_SYS_REF_OBJ_TBL,
338     x_return_status       OUT NOCOPY    VARCHAR2,
339     x_msg_count           OUT NOCOPY    NUMBER,
340     x_msg_data            OUT NOCOPY    VARCHAR2
341   ) IS
342     l_otn                 VARCHAR2(30);
343     l_ovn                 NUMBER;
344     l_ososr_rec           HZ_ORIG_SYSTEM_REF_PUB.ORIG_SYS_REFERENCE_REC_TYPE;
345     l_debug_prefix        VARCHAR2(30);
346   BEGIN
347     -- Standard start of API savepoint
348     SAVEPOINT update_osr_bo_pub;
349 
350     -- initialize API return status to success.
351     x_return_status := FND_API.G_RET_STS_SUCCESS;
352 
353     -- Initialize message list if p_init_msg_list is set to TRUE
354     IF FND_API.to_Boolean(p_init_msg_list) THEN
355       FND_MSG_PUB.initialize;
356     END IF;
357 
358     -- Debug info.
359     IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
360         hz_utility_v2pub.debug(p_message=>'update_orig_sys_ref_bo(+)',
361                                p_prefix=>l_debug_prefix,
362                                p_msg_level=>fnd_log.level_procedure);
363     END IF;
364 
365     FOR i IN 1..p_orig_sys_refs.COUNT LOOP
366       IF(p_orig_sys_refs(i).object_id IS NULL) THEN
367         FND_MESSAGE.SET_NAME('AR','HZ_API_NULL_PARAM');
368         FND_MESSAGE.SET_TOKEN('PARAMETER', 'object_id');
369         FND_MSG_PUB.ADD();
370         RAISE FND_API.G_EXC_ERROR;
371       END IF;
375         FND_MESSAGE.SET_TOKEN('PARAMETER', 'orig_system');
372 
373       IF(p_orig_sys_refs(i).orig_system IS NULL) THEN
374         FND_MESSAGE.SET_NAME('AR','HZ_API_NULL_PARAM');
376         FND_MSG_PUB.ADD();
377         RAISE FND_API.G_EXC_ERROR;
378       END IF;
379 
380       IF(p_orig_sys_refs(i).orig_system_reference IS NULL) THEN
381         FND_MESSAGE.SET_NAME('AR','HZ_API_NULL_PARAM');
382         FND_MESSAGE.SET_TOKEN('PARAMETER', 'orig_system_reference');
383         FND_MSG_PUB.ADD();
384         RAISE FND_API.G_EXC_ERROR;
385       END IF;
386 
387       IF(p_orig_sys_refs(i).old_orig_system_reference IS NULL) THEN
388         FND_MESSAGE.SET_NAME('AR','HZ_API_NULL_PARAM');
389         FND_MESSAGE.SET_TOKEN('PARAMETER', 'old_orig_system_reference');
390         FND_MSG_PUB.ADD();
391         RAISE FND_API.G_EXC_ERROR;
392       END IF;
393 
394       assign_orig_sys_ref(
395         p_orig_sys_obj     => p_orig_sys_refs(i),
396         x_orig_sys_rec     => l_ososr_rec
397       );
398 
399       l_ososr_rec.created_by_module := null;
400       HZ_ORIG_SYSTEM_REF_PUB.update_orig_system_reference(
401         p_orig_sys_reference_rec => l_ososr_rec,
402         p_object_version_number  => l_ovn,
403         x_return_status          => x_return_status,
404         x_msg_count              => x_msg_count,
405         x_msg_data               => x_msg_data
406       );
407       IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
408         RAISE FND_API.G_EXC_ERROR;
409       END IF;
410     END LOOP;
411 
412     -- Debug info.
413     IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
414          hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
415                                p_msg_data=>x_msg_data,
416                                p_msg_type=>'WARNING',
417                                p_msg_level=>fnd_log.level_exception);
418     END IF;
419     IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
420         hz_utility_v2pub.debug(p_message=>'update_orig_sys_ref_bo(-)',
421                                p_prefix=>l_debug_prefix,
422                                p_msg_level=>fnd_log.level_procedure);
423     END IF;
424   EXCEPTION
425     WHEN fnd_api.g_exc_error THEN
426       ROLLBACK TO update_osr_bo_pub;
427       x_return_status := fnd_api.g_ret_sts_error;
428 
429       FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_ENTITY_ERROR');
430       FND_MESSAGE.SET_TOKEN('ENTITY', 'ORIG_SYSTEM');
431       FND_MSG_PUB.ADD;
432       fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
433                                 p_count => x_msg_count,
434                                 p_data  => x_msg_data);
435 
436       -- Debug info.
437       IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
438         hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
439                                p_msg_data=>x_msg_data,
440                                p_msg_type=>'ERROR',
441                                p_msg_level=>fnd_log.level_error);
442       END IF;
443       IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
444         hz_utility_v2pub.debug(p_message=>'update_orig_sys_refs_bo(-)',
445                                p_prefix=>l_debug_prefix,
446                                p_msg_level=>fnd_log.level_procedure);
447       END IF;
448 
449     WHEN fnd_api.g_exc_unexpected_error THEN
450       ROLLBACK TO update_osr_bo_pub;
451       x_return_status := fnd_api.g_ret_sts_unexp_error;
452 
453       fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
454                                 p_count => x_msg_count,
455                                 p_data  => x_msg_data);
456 
457       -- Debug info.
458       IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
459         hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
460                                p_msg_data=>x_msg_data,
461                                p_msg_type=>'UNEXPECTED ERROR',
462                                p_msg_level=>fnd_log.level_error);
463       END IF;
464       IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
465         hz_utility_v2pub.debug(p_message=>'update_orig_sys_refs_bo(-)',
466                                p_prefix=>l_debug_prefix,
467                                p_msg_level=>fnd_log.level_procedure);
468       END IF;
469     WHEN OTHERS THEN
470       ROLLBACK TO update_osr_bo_pub;
471       x_return_status := fnd_api.g_ret_sts_unexp_error;
472 
473       fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
474       fnd_message.set_token('ERROR' ,SQLERRM);
475       fnd_msg_pub.add;
476 
477       fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
478                                 p_count => x_msg_count,
479                                 p_data  => x_msg_data);
480 
481       -- Debug info.
482       IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
483         hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
484                                p_msg_data=>x_msg_data,
485                                p_msg_type=>'SQL ERROR',
486                                p_msg_level=>fnd_log.level_error);
487       END IF;
488       IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
489         hz_utility_v2pub.debug(p_message=>'update_orig_sys_refs_bo(-)',
493   END update_orig_sys_refs_bo;
490                                p_prefix=>l_debug_prefix,
491                                p_msg_level=>fnd_log.level_procedure);
492       END IF;
494 
495   PROCEDURE update_orig_sys_refs_bo(
496     p_orig_sys_refs       IN            HZ_ORIG_SYS_REF_OBJ_TBL,
497     x_return_status       OUT NOCOPY    VARCHAR2,
498     x_msg_count           OUT NOCOPY    NUMBER,
499     x_msg_data            OUT NOCOPY    HZ_MESSAGE_OBJ_TBL
500   ) IS
501     l_msg_data            VARCHAR2(2000);
502   BEGIN
503     update_orig_sys_refs_bo(
504       p_init_msg_list       => fnd_api.g_true,
505       p_orig_sys_refs       => p_orig_sys_refs,
506       x_return_status       => x_return_status,
507       x_msg_count           => x_msg_count,
508       x_msg_data            => l_msg_data
509     );
510     x_msg_data := HZ_PARTY_BO_PVT.return_all_messages(
511                     x_return_status   => x_return_status,
512                     x_msg_count       => x_msg_count,
513                     x_msg_data        => l_msg_data);
514   END update_orig_sys_refs_bo;
515 
516   -- PROCEDURE remap_internal_identifiers_bo
517   --
518   -- DESCRIPTION
519   --     Remap original system references
520   --
521   -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
522   --
523   -- ARGUMENTS
524   --   IN:
525   --     p_init_msg_list      Initialize message stack if it is set to
526   --                          FND_API.G_TRUE. Default is FND_API.G_FALSE.
527   --     p_orig_sys_refs      List of original system reference objects.
528   --   OUT:
529   --     x_return_status      Return status after the call. The status can
530   --                          be fnd_api.g_ret_sts_success (success),
531   --                          fnd_api.g_ret_sts_error (error),
532   --                          FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
533   --     x_msg_count          Number of messages in message stack.
534   --     x_msg_data           Message text if x_msg_count is 1.
535   --
536   -- NOTES
537   --
538   -- MODIFICATION HISTORY
539   --
540   --   14-DEC-2004    Arnold Ng          Created.
541 
542   PROCEDURE remap_internal_identifiers_bo(
543     p_init_msg_list       IN            VARCHAR2 := fnd_api.g_false,
544     p_orig_sys_refs       IN            REMAP_ORIG_SYS_REC,
545     x_return_status       OUT NOCOPY    VARCHAR2,
546     x_msg_count           OUT NOCOPY    NUMBER,
547     x_msg_data            OUT NOCOPY    VARCHAR2
548   ) IS
549     l_otn                 VARCHAR2(30);
550     l_debug_prefix        VARCHAR2(30);
551   BEGIN
552     -- Standard start of API savepoint
553     SAVEPOINT remap_osr_bo_pub;
554 
555     -- initialize API return status to success.
556     x_return_status := FND_API.G_RET_STS_SUCCESS;
557 
558     -- Initialize message list if p_init_msg_list is set to TRUE
559     IF FND_API.to_Boolean(p_init_msg_list) THEN
560       FND_MSG_PUB.initialize;
561     END IF;
562 
563     -- Debug info.
564     IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
565         hz_utility_v2pub.debug(p_message=>'update_orig_sys_ref_bo(+)',
566                                p_prefix=>l_debug_prefix,
567                                p_msg_level=>fnd_log.level_procedure);
568     END IF;
569 
570     FOR i IN 1..p_orig_sys_refs.object_type.COUNT LOOP
571       l_otn := HZ_REGISTRY_VALIDATE_BO_PVT.get_owner_table_name(p_orig_sys_refs.object_type(i));
572       HZ_ORIG_SYSTEM_REF_PUB.remap_internal_identifier(
573         p_old_owner_table_id    => p_orig_sys_refs.old_object_id(i),
574         p_new_owner_table_id    => p_orig_sys_refs.new_object_id(i),
575         p_owner_table_name      => l_otn,
576         p_orig_system           => p_orig_sys_refs.object_os(i),
577         p_orig_system_reference => p_orig_sys_refs.object_osr(i),
578         p_reason_code           => p_orig_sys_refs.reason_code(i),
579         x_return_status         => x_return_status,
580         x_msg_count             => x_msg_count,
581         x_msg_data              => x_msg_data
582       );
583       IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
584         RAISE FND_API.G_EXC_ERROR;
585       END IF;
586     END LOOP;
587 
588     -- Debug info.
589     IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
590          hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
591                                p_msg_data=>x_msg_data,
592                                p_msg_type=>'WARNING',
593                                p_msg_level=>fnd_log.level_exception);
594     END IF;
595     IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
596         hz_utility_v2pub.debug(p_message=>'remap_internal_identifiers_bo(-)',
597                                p_prefix=>l_debug_prefix,
598                                p_msg_level=>fnd_log.level_procedure);
599     END IF;
600   EXCEPTION
601     WHEN fnd_api.g_exc_error THEN
602       ROLLBACK TO remap_osr_bo_pub;
603       x_return_status := fnd_api.g_ret_sts_error;
604 
605       FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_ENTITY_ERROR');
606       FND_MESSAGE.SET_TOKEN('ENTITY', 'ORIG_SYSTEM');
607       FND_MSG_PUB.ADD;
608       fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
609                                 p_count => x_msg_count,
610                                 p_data  => x_msg_data);
611 
612       -- Debug info.
613       IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
614         hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
615                                p_msg_data=>x_msg_data,
616                                p_msg_type=>'ERROR',
617                                p_msg_level=>fnd_log.level_error);
618       END IF;
619       IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
620         hz_utility_v2pub.debug(p_message=>'remap_internal_identifiers_bo(-)',
621                                p_prefix=>l_debug_prefix,
622                                p_msg_level=>fnd_log.level_procedure);
623       END IF;
624 
625     WHEN fnd_api.g_exc_unexpected_error THEN
626       ROLLBACK TO remap_osr_bo_pub;
627       x_return_status := fnd_api.g_ret_sts_unexp_error;
628 
629       fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
630                                 p_count => x_msg_count,
631                                 p_data  => x_msg_data);
632 
633       -- Debug info.
634       IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
635         hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
636                                p_msg_data=>x_msg_data,
637                                p_msg_type=>'UNEXPECTED ERROR',
638                                p_msg_level=>fnd_log.level_error);
639       END IF;
640       IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
641         hz_utility_v2pub.debug(p_message=>'remap_internal_identifiers_bo(-)',
642                                p_prefix=>l_debug_prefix,
643                                p_msg_level=>fnd_log.level_procedure);
644       END IF;
645     WHEN OTHERS THEN
646       ROLLBACK TO remap_osr_bo_pub;
647       x_return_status := fnd_api.g_ret_sts_unexp_error;
648 
649       fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
650       fnd_message.set_token('ERROR' ,SQLERRM);
651       fnd_msg_pub.add;
652 
653       fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
654                                 p_count => x_msg_count,
655                                 p_data  => x_msg_data);
656 
657       -- Debug info.
658       IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
659         hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
660                                p_msg_data=>x_msg_data,
661                                p_msg_type=>'SQL ERROR',
662                                p_msg_level=>fnd_log.level_error);
663       END IF;
664       IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
665         hz_utility_v2pub.debug(p_message=>'remap_internal_identifiers_bo(-)',
666                                p_prefix=>l_debug_prefix,
667                                p_msg_level=>fnd_log.level_procedure);
668       END IF;
669   END remap_internal_identifiers_bo;
670 
671   PROCEDURE remap_internal_identifiers_bo(
672     p_orig_sys_refs       IN            REMAP_ORIG_SYS_REC,
673     x_return_status       OUT NOCOPY    VARCHAR2,
674     x_msg_count           OUT NOCOPY    NUMBER,
675     x_msg_data            OUT NOCOPY    HZ_MESSAGE_OBJ_TBL
676   ) IS
677     l_msg_data            VARCHAR2(2000);
678   BEGIN
679     remap_internal_identifiers_bo(
680       p_init_msg_list       => fnd_api.g_true,
681       p_orig_sys_refs       => p_orig_sys_refs,
682       x_return_status       => x_return_status,
683       x_msg_count           => x_msg_count,
684       x_msg_data            => l_msg_data
685     );
686     x_msg_data := HZ_PARTY_BO_PVT.return_all_messages(
687                     x_return_status   => x_return_status,
688                     x_msg_count       => x_msg_count,
689                     x_msg_data        => l_msg_data);
690   END remap_internal_identifiers_bo;
691 
692 END HZ_ORIG_SYSTEM_REF_BO_PUB;