[Home] [Help]
PACKAGE BODY: APPS.ECX_TP_MERGE_PKG
Source
1 package body ECX_TP_MERGE_PKG as
2 /* $Header: ECXPMRGB.pls 115.7 2003/07/01 21:20:18 rdiwan ship $ */
3 --
4 -- Procedure: ecx_party_merge
5 --
6 -- Description: This routine takes care of the party merge for ECX_TP_HEADERS
7 -- table
8
9
10 PROCEDURE ecx_party_merge(p_Entity_name IN VARCHAR2,
11 p_from_id IN NUMBER,
12 x_to_id OUT NOCOPY NUMBER,
13 p_From_FK_id IN NUMBER,
14 p_To_FK_id IN NUMBER,
15 p_Parent_Entity_name IN VARCHAR2,
16 p_Batch_id IN NUMBER,
17 p_Batch_Party_id IN NUMBER,
18 x_return_status OUT NOCOPY VARCHAR2
19 ) is
20 BEGIN
21
22 x_return_status := FND_API.G_RET_STS_SUCCESS;
23
24 -- If parent has not changed
25 IF (p_From_FK_id = p_To_FK_id) THEN
26 x_to_id := p_from_id;
27 return;
28 END IF;
29
30 -- update ECX_TP_HEADERS for the merge
31 UPDATE ECX_TP_HEADERS
32 SET party_id = p_To_FK_id,
33 last_updated_by = hz_utility_pub.user_id,
34 last_update_login = hz_utility_pub.last_update_login
35 WHERE party_id = p_From_FK_id
36 AND party_type in ('C', 'E', 'CARRIER');
37
38 -- update ECX_DOCLOGS for the merge
39 UPDATE ECX_DOCLOGS
40 SET partyid = to_char(p_To_FK_id)
41 WHERE partyid = to_char(p_From_FK_id)
42 AND party_type in ('C', 'E', 'CARRIER');
43
44 -- update ECX_OUTBOUND_LOGS for the merge
45 UPDATE ECX_OUTBOUND_LOGS
46 SET party_id = to_char(p_To_FK_id)
47 WHERE party_id = to_char(p_From_FK_id)
48 AND party_type in ('C', 'E', 'CARRIER');
49
50 EXCEPTION
51 WHEN OTHERS THEN
52 FND_MESSAGE.SET_NAME('ECX', 'ECX_MERGE_UNEXPECTED_ERROR');
53 FND_MESSAGE.SET_TOKEN('ERROR_CODE', SQLCODE);
54 FND_MESSAGE.SET_TOKEN('ERROR_MESSAGE', SQLERRM);
55 FND_MSG_PUB.add;
56 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
57 END ecx_party_merge;
58
59 PROCEDURE ecx_party_sites_merge(
60 p_Entity_name IN VARCHAR2,
61 p_from_id IN NUMBER,
62 x_to_id OUT NOCOPY NUMBER,
63 p_From_FK_id IN NUMBER,
64 p_To_FK_id IN NUMBER,
65 p_Parent_Entity_name IN VARCHAR2,
66 p_Batch_id IN NUMBER,
67 p_Batch_Party_id IN NUMBER,
68 x_return_status OUT NOCOPY VARCHAR2
69 ) is
70 BEGIN
71
72 x_return_status := FND_API.G_RET_STS_SUCCESS;
73
74 -- If parent has not changed
75 IF (p_From_FK_id = p_To_FK_id) THEN
76 x_to_id := p_from_id;
77 return;
78 END IF;
79
80 -- update ECX_TP_HEADERS for the merge
81 UPDATE ECX_TP_HEADERS
82 SET party_site_id = p_To_FK_id,
83 last_updated_by = hz_utility_pub.user_id,
84 last_update_login = hz_utility_pub.last_update_login
85 WHERE party_site_id = p_From_FK_id
86 AND party_type in ('C', 'E', 'CARRIER');
87
88 -- update ECX_DOCLOGS for the merge
89 UPDATE ECX_DOCLOGS
90 SET party_site_id = to_char(p_To_FK_id)
91 WHERE party_site_id = to_char(p_From_FK_id)
92 AND party_type in ('C', 'E', 'CARRIER');
93
94 -- update ECX_OUTBOUND_LOGS for the merge
95 UPDATE ECX_OUTBOUND_LOGS
96 SET party_site_id = to_char(p_To_FK_id)
97 WHERE party_site_id = to_char(p_From_FK_id)
98 AND party_type in ('C', 'E', 'CARRIER');
99
100 EXCEPTION
101 WHEN OTHERS THEN
102 FND_MESSAGE.SET_NAME('ECX', 'ECX_MERGE_UNEXPECTED_ERROR');
103 FND_MESSAGE.SET_TOKEN('ERROR_CODE', SQLCODE);
104 FND_MESSAGE.SET_TOKEN('ERROR_MESSAGE', SQLERRM);
105 FND_MSG_PUB.add;
106 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
107 END ecx_party_sites_merge;
108 END ECX_TP_MERGE_PKG;