[Home] [Help]
PACKAGE BODY: APPS.DPP_VENDORMERGE_GRP
Source
1 PACKAGE BODY DPP_VENDORMERGE_GRP AS
2 /* $Header: dppgmrgb.pls 120.1 2007/11/27 09:23:51 sdasan noship $ */
3
4 G_PKG_NAME CONSTANT VARCHAR2(30):='DPP_VENDORMERGE_GRP';
5
6 -----------------------------------------------------------------------
7
8 -- PROCEDURE
9
10 -- Merge_Vendor
11
12 --
13
14 -- HISTORY
15
16 -- 26-Nov-2007 jajose Created
17
18 -----------------------------------------------------------------------
19
20 PROCEDURE Merge_Vendor
21
22 ( p_api_version IN NUMBER
23
24 ,p_init_msg_list IN VARCHAR2 default FND_API.G_FALSE
25
26 ,p_commit IN VARCHAR2 default FND_API.G_FALSE
27
28 ,p_validation_level IN NUMBER default FND_API.G_VALID_LEVEL_FULL
29
30 ,p_return_status OUT NOCOPY VARCHAR2
31
32 ,p_msg_count OUT NOCOPY NUMBER
33
34 ,p_msg_data OUT NOCOPY VARCHAR2
35
36 ,p_vendor_id IN NUMBER
37
38 ,p_dup_vendor_id IN NUMBER
39
40 ,p_vendor_site_id IN NUMBER
41
42 ,p_dup_vendor_site_id IN NUMBER
43
44 ,p_party_id IN NUMBER
45
46 ,p_dup_party_id IN NUMBER
47
48 ,p_party_site_id IN NUMBER
49
50 ,p_dup_party_site_id IN NUMBER
51
52 )
53
54 IS
55
56 l_api_name CONSTANT VARCHAR2(30) := 'MERGE_VENDOR';
57
58 l_api_version CONSTANT NUMBER := 1.0;
59
60 l_row_count NUMBER;
61
62 BEGIN
63
64 p_return_status := FND_API.G_RET_STS_SUCCESS;
65
66
67
68 IF NOT FND_API.Compatible_API_Call ( l_api_version,
69
70 p_api_version,
71
72 l_api_name,
73
74 G_PKG_NAME)
75
76 THEN
77
78 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
79
80 END IF;
81
82
83
84 -- Initialize API message list if necessary.
85
86 -- Initialize message list if p_init_msg_list is set to TRUE.
87
88 IF FND_API.to_Boolean( p_init_msg_list) THEN
89
90 FND_MSG_PUB.initialize;
91
92 END IF;
93
94
95
96 UPDATE DPP_TRANSACTION_HEADERS_ALL
97
98 SET vendor_id = p_vendor_id,
99
100 vendor_site_id = p_vendor_site_id,
101
102 last_update_date = hz_utility_pub.last_update_date,
103
104 last_updated_by = hz_utility_pub.user_id,
105
106 last_update_login = hz_utility_pub.last_update_login,
107
108 program_application_id = hz_utility_pub.program_application_id,
109
110 program_id = hz_utility_pub.program_id,
111
112 program_update_date = sysdate
113
114 WHERE vendor_id = p_dup_vendor_id
115
116 AND vendor_site_id = p_dup_vendor_site_id;
117
118 IF SQL%FOUND THEN
119
120 p_return_status := FND_API.G_RET_STS_SUCCESS;
121
122 l_row_count := SQL%ROWCOUNT;
123
124 ELSE
125
126 l_row_count := 0;
127
128 END IF;
129
130 -- Prepare message name
131
132 FND_MESSAGE.SET_NAME('DPP','DPP_VENDOR_MERGE');
133
134 FND_MESSAGE.SET_TOKEN('ROWS_UPDATED',l_row_count);
135
136 FND_MESSAGE.SET_TOKEN('TABLE_NAME','DPP_TRANSACTION_HEADERS_ALL');
137
138 -- Add message to API message list.
139
140 FND_MSG_PUB.Add;
141
142
143
144 -- Get message count and if 1, return message data.
145
146 FND_MSG_PUB.Count_And_Get
147
148 ( p_count => p_msg_count,
149 p_data => p_msg_data
150
151 );
152
153
154 IF p_dup_vendor_id <> p_vendor_id THEN
155
156 UPDATE DPP_TRANSACTION_HEADERS_LOG
157
158 SET vendor_id = p_vendor_id,
159
160 vendor_site_id = p_vendor_site_id,
161
162 last_update_date = hz_utility_pub.last_update_date,
163
164 last_updated_by = hz_utility_pub.user_id,
165
166 last_update_login = hz_utility_pub.last_update_login
167
168 WHERE vendor_id = p_dup_vendor_id
169
170 AND vendor_site_id = p_dup_vendor_site_id;
171
172 IF SQL%FOUND THEN
173
174 p_return_status := FND_API.G_RET_STS_SUCCESS;
175
176 l_row_count := SQL%ROWCOUNT;
177
178 ELSE
179
180 l_row_count := 0;
181
182 END IF;
183
184 -- Prepare message name
185
186 FND_MESSAGE.SET_NAME('DPP','DPP_VENDOR_MERGE');
187
188 FND_MESSAGE.SET_TOKEN('ROWS_UPDATED',l_row_count);
189
190 FND_MESSAGE.SET_TOKEN('TABLE_NAME','DPP_TRANSACTION_HEADERS_LOG');
191
192 -- Add message to API message list.
193
194 FND_MSG_PUB.Add;
195
196
197
198 -- Get message count and if 1, return message data.
199
200 FND_MSG_PUB.Count_And_Get
201
202 ( p_count => p_msg_count,
203
204 p_data => p_msg_data
205
206 );
207
208
209
210 UPDATE DPP_TXN_HEADERS_INT_ALL
211
212 SET vendor_id = p_vendor_id,
213
214 vendor_site_id = p_vendor_site_id,
215
216 last_update_date = hz_utility_pub.last_update_date,
217
218 last_updated_by = hz_utility_pub.user_id,
219
220 last_update_login = hz_utility_pub.last_update_login,
221
222 program_application_id = hz_utility_pub.program_application_id,
223
224 program_id = hz_utility_pub.program_id,
225
226 program_update_date = sysdate
227
228 WHERE vendor_id = p_dup_vendor_id
229
230 AND vendor_site_id = p_dup_vendor_site_id;
231
232
233 IF SQL%FOUND THEN
234
235 p_return_status := FND_API.G_RET_STS_SUCCESS;
236
237 l_row_count := SQL%ROWCOUNT;
238
239 ELSE
240
241 l_row_count := 0;
242
243 END IF;
244
245 -- Prepare message name
246
247 FND_MESSAGE.SET_NAME('DPP','DPP_VENDOR_MERGE');
248
249 FND_MESSAGE.SET_TOKEN('ROWS_UPDATED',l_row_count);
250
251 FND_MESSAGE.SET_TOKEN('TABLE_NAME','DPP_TXN_HEADERS_INT_ALL');
252
253 -- Add message to API message list.
254
255 FND_MSG_PUB.Add;
256
257
258 -- Get message count and if 1, return message data.
259
260 FND_MSG_PUB.Count_And_Get
261
262 ( p_count => p_msg_count,
263
264 p_data => p_msg_data
265
266 );
267
268
269
270 END IF;
271
272
273
274 EXCEPTION
275
276 WHEN OTHERS THEN
277
278 ROLLBACK ;
279
280 p_return_status := FND_API.G_RET_STS_ERROR;
281
282 FND_MSG_PUB.Count_And_Get
283
284 ( p_count => p_msg_count,
285
286 p_data => p_msg_data
287
288 );
289
290
291
292 END Merge_Vendor;
293
294 END DPP_VENDORMERGE_GRP;