1 PACKAGE BODY CSD_PARTIES_UTIL AS
2 /* $Header: csdvptub.pls 115.3 2002/12/03 20:34:51 sangigup noship $ */
3 --
4 -- Package name : CSD_PARTIES_UTIL
5 -- Purpose : This package contains the utilities for managing
6 -- TCA parties in Depot Repair.
7 -- History :
8 -- Version Date Name Description
9 -- 115.9 10/20/02 swai Created.
10
11
12 G_PKG_NAME CONSTANT VARCHAR2(30) := 'CSD_PARTIES_UTIL';
13 G_FILE_NAME CONSTANT VARCHAR2(12) := 'csdvptub.pls';
14
15
16
17 /*----------------------------------------------------------------*/
18 /* procedure name: Get_EmailDetails */
19 /* description : Gets email contact point for a given party */
20 /* This procedure accepts party id and returns */
21 /* the email contact point id and last updated */
22 /* date for that party. */
23 /* */
24 /* p_api_version Standard IN param */
25 /* p_commit Standard IN param */
26 /* p_init_msg_list Standard IN param */
27 /* p_validation_level Standard IN param */
28 /* p_party_id Party ID to get email details for */
29 /* x_email_cnt_point_id Email Contact Point ID */
30 /* x_email_last_update_date Last Updated Date for Contact Pt */
31 /* x_return_status Standard OUT param */
32 /* x_msg_count Standard OUT param */
33 /* x_msg_data Standard OUT param */
34 /* */
35 /*----------------------------------------------------------------*/
36 PROCEDURE Get_EmailDetails
37 (
38 p_api_version IN NUMBER,
39 p_commit IN VARCHAR2 := fnd_api.g_false,
40 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
41 p_validation_level IN NUMBER := fnd_api.g_valid_level_full,
42 p_party_id IN NUMBER,
43 x_email_cnt_point_id OUT NOCOPY NUMBER,
44 x_email_last_update_date OUT NOCOPY DATE,
45 x_return_status OUT NOCOPY VARCHAR2,
46 x_msg_count OUT NOCOPY NUMBER,
47 x_msg_data OUT NOCOPY VARCHAR2 )
48 IS
49 l_api_name CONSTANT VARCHAR2(30) := 'Get_EmailDetails';
50 l_api_version CONSTANT NUMBER := 1.0;
51 l_party_id NUMBER := p_party_id;
52
53 CURSOR get_email_details IS
54 SELECT contact_point_id,
55 last_update_date
56 FROM hz_contact_points
57 WHERE owner_table_id = l_party_id
58 AND owner_table_name = 'HZ_PARTIES'
59 AND contact_point_type='EMAIL'
60 AND primary_flag='Y' ;
61 BEGIN
62 -- Standard Start of API savepoint
63 SAVEPOINT Get_EmailDetails_Utl;
64
65 -- Standard call to check for call compatibility.
66 IF NOT FND_API.Compatible_API_Call (l_api_version,
67 p_api_version,
68 l_api_name,
69 G_PKG_NAME)
70 THEN
71 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
72 END IF;
73
74 -- Initialize message list if p_init_msg_list is set to TRUE.
75 IF FND_API.to_Boolean(p_init_msg_list) THEN
76 FND_MSG_PUB.initialize;
77 END IF;
78
79 -- Initialize API return status to success
80 x_return_status := FND_API.G_RET_STS_SUCCESS;
81
82 --
83 -- Begin API Body
84 --
85 FOR get_email_details_rec IN get_email_details LOOP
86 x_email_cnt_point_id:=get_email_details_rec.contact_point_id;
87 x_email_last_update_date:=get_email_details_rec.last_update_date;
88 END LOOP;
89
90 --
91 -- End API Body
92 --
93
94 -- Standard check of p_commit.
95 IF FND_API.To_Boolean( p_commit ) THEN
96 COMMIT WORK;
97 END IF;
98
99 -- Standard call to get message count and IF count is get message info.
100 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count,
101 p_data => x_msg_data );
102
103 EXCEPTION
104 WHEN FND_API.G_EXC_ERROR THEN
105 ROLLBACK TO Get_EmailDetails_Utl;
106 x_return_status := FND_API.G_RET_STS_ERROR ;
107 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count,
108 p_data => x_msg_data);
109 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
110 ROLLBACK TO Get_EmailDetails_Utl;
111 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
112 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count,
113 p_data => x_msg_data );
114 WHEN OTHERS THEN
115 ROLLBACK TO Get_EmailDetails_Utl;
116 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
117 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
118 THEN
119 FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME ,
120 l_api_name );
121 END IF;
122 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count,
123 p_data => x_msg_data );
124 END Get_EmailDetails;
125
126
127 /*----------------------------------------------------------------*/
128 /* procedure name: Get_AddrDetails */
129 /* description : Gets address location and site for a party */
130 /* This procedure accepts party id and returns */
131 /* the address location and site ids and last */
132 /* updated date of both items for that party. */
133 /* */
134 /* p_api_version Standard IN param */
135 /* p_commit Standard IN param */
136 /* p_init_msg_list Standard IN param */
137 /* p_validation_level Standard IN param */
138 /* p_party_id Party ID to get addr details for */
139 /* x_addr_location_id Location ID for party */
140 /* x_party_site_id Site ID for location */
141 /* x_addr_last_update_date Last updated date for location */
142 /* x_party_site_last_update_date Last updated date for site */
143 /* x_return_status Standard OUT param */
144 /* x_msg_count Standard OUT param */
145 /* x_msg_data Standard OUT param */
146 /* */
147 /*----------------------------------------------------------------*/
148 PROCEDURE Get_AddrDetails
149 (
150 p_api_version IN NUMBER,
151 p_commit IN VARCHAR2 := fnd_api.g_false,
152 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
153 p_validation_level IN NUMBER := fnd_api.g_valid_level_full,
154 p_party_id IN NUMBER,
155 x_addr_location_id OUT NOCOPY NUMBER,
156 x_party_site_id OUT NOCOPY NUMBER,
157 x_addr_last_update_date OUT NOCOPY DATE,
158 x_party_site_last_update_date OUT NOCOPY DATE,
159 x_return_status OUT NOCOPY VARCHAR2,
160 x_msg_count OUT NOCOPY NUMBER,
161 x_msg_data OUT NOCOPY VARCHAR2 )
162 IS
163 l_api_name CONSTANT VARCHAR2(30) := 'Get_AddrDetails';
164 l_api_version CONSTANT NUMBER := 1.0;
165 l_party_id NUMBER := p_party_id;
166
167 CURSOR get_address_details IS
168 SELECT loc.location_id,
169 loc.last_update_date,
170 sites.party_site_id,
171 sites.last_update_date sites_last_update_date
172 FROM hz_party_sites sites, hz_locations loc
173 WHERE sites.party_id = l_party_id
174 AND loc.location_id = sites.location_id
175 AND sites.identifying_address_flag='Y' ;
176
177 BEGIN
178 -- Standard Start of API savepoint
179 SAVEPOINT Get_AddrDetails_Utl;
180
181 -- Standard call to check for call compatibility.
182 IF NOT FND_API.Compatible_API_Call (l_api_version,
183 p_api_version,
184 l_api_name,
185 G_PKG_NAME)
186 THEN
187 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
188 END IF;
189
190 -- Initialize message list if p_init_msg_list is set to TRUE.
191 IF FND_API.to_Boolean(p_init_msg_list) THEN
192 FND_MSG_PUB.initialize;
193 END IF;
194
195 -- Initialize API return status to success
196 x_return_status := FND_API.G_RET_STS_SUCCESS;
197
198 --
199 -- Begin API Body
200 --
201 FOR get_address_details_rec IN get_address_details LOOP
202 x_party_site_id:=get_address_details_rec.party_site_id;
203 x_addr_location_id:=get_address_details_rec.location_id;
204 x_party_site_last_update_date:=get_address_details_rec.sites_last_update_date;
205 x_addr_last_update_date:=get_address_details_rec.last_update_date;
206 END LOOP;
207
208 --
209 -- End API Body
210 --
211
212 -- Standard check of p_commit.
213 IF FND_API.To_Boolean( p_commit ) THEN
214 COMMIT WORK;
215 END IF;
216
217 -- Standard call to get message count and IF count is get message info.
218 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count,
219 p_data => x_msg_data );
220
221 EXCEPTION
222 WHEN FND_API.G_EXC_ERROR THEN
223 ROLLBACK TO Get_AddrDetails_Utl;
224 x_return_status := FND_API.G_RET_STS_ERROR ;
225 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count,
226 p_data => x_msg_data);
227 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
228 ROLLBACK TO Get_AddrDetails_Utl;
229 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
230 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count,
231 p_data => x_msg_data );
232 WHEN OTHERS THEN
233 ROLLBACK TO Get_AddrDetails_Utl;
234 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
235 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
236 THEN
237 FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME ,
238 l_api_name );
239 END IF;
240 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count,
241 p_data => x_msg_data );
242 END Get_AddrDetails;
243
244
245 /*----------------------------------------------------------------*/
246 /* procedure name: Get_PhoneDetails */
247 /* description : This procedure accepts phone contact point id */
248 /* and returns the last updated for that contact */
249 /* point. */
250 /* */
251 /* p_api_version Standard IN param */
252 /* p_commit Standard IN param */
253 /* p_init_msg_list Standard IN param */
254 /* p_validation_level Standard IN param */
255 /* p_phone_cnt_point_id Phone Contact Point ID */
256 /* x_phone_last_update_date Last Updated Date for Contact Pt */
257 /* x_return_status Standard OUT param */
258 /* x_msg_count Standard OUT param */
259 /* x_msg_data Standard OUT param */
260 /* */
261 /*----------------------------------------------------------------*/
262 PROCEDURE Get_PhoneDetails
263 (
264 p_api_version IN NUMBER,
265 p_commit IN VARCHAR2 := fnd_api.g_false,
266 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
267 p_validation_level IN NUMBER := fnd_api.g_valid_level_full,
268 p_phone_cnt_point_id IN NUMBER,
269 x_phone_last_update_date OUT NOCOPY DATE,
270 x_return_status OUT NOCOPY VARCHAR2,
271 x_msg_count OUT NOCOPY NUMBER,
272 x_msg_data OUT NOCOPY VARCHAR2 )
273 IS
274 l_api_name CONSTANT VARCHAR2(30) := 'Get_PhoneDetails';
275 l_api_version CONSTANT NUMBER := 1.0;
276 l_phone_cnt_point_id NUMBER := p_phone_cnt_point_id;
277
278 CURSOR get_phone_details IS
279 SELECT LAST_UPDATE_DATE
280 FROM HZ_CONTACT_POINTS
281 WHERE CONTACT_POINT_ID = l_phone_cnt_point_id;
282
283 BEGIN
284 -- Standard Start of API savepoint
285 SAVEPOINT Get_PhoneDetails_Utl;
286
287 -- Standard call to check for call compatibility.
288 IF NOT FND_API.Compatible_API_Call (l_api_version,
289 p_api_version,
290 l_api_name,
291 G_PKG_NAME)
292 THEN
293 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
294 END IF;
295
296 -- Initialize message list if p_init_msg_list is set to TRUE.
297 IF FND_API.to_Boolean(p_init_msg_list) THEN
298 FND_MSG_PUB.initialize;
299 END IF;
300
301 -- Initialize API return status to success
302 x_return_status := FND_API.G_RET_STS_SUCCESS;
303
304 --
305 -- Begin API Body
306 --
307 FOR get_phone_details_rec IN get_phone_details LOOP
308 x_phone_last_update_date:=get_phone_details_rec.last_update_date;
309 END LOOP;
310
311 --
312 -- End API Body
313 --
314
315 -- Standard check of p_commit.
316 IF FND_API.To_Boolean( p_commit ) THEN
317 COMMIT WORK;
318 END IF;
319
320 -- Standard call to get message count and IF count is get message info.
321 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count,
322 p_data => x_msg_data );
323
324 EXCEPTION
325 WHEN FND_API.G_EXC_ERROR THEN
326 ROLLBACK TO Get_PhoneDetails_Utl;
327 x_return_status := FND_API.G_RET_STS_ERROR ;
328 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count,
329 p_data => x_msg_data);
330 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
331 ROLLBACK TO Get_PhoneDetails_Utl;
332 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
333 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count,
334 p_data => x_msg_data );
335 WHEN OTHERS THEN
336 ROLLBACK TO Get_PhoneDetails_Utl;
337 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
338 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
339 THEN
340 FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME ,
341 l_api_name );
342 END IF;
343 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count,
344 p_data => x_msg_data );
345 END Get_PhoneDetails;
346
347
348 /*----------------------------------------------------------------*/
349 /* procedure name: Get_PartyDetails */
350 /* description : This procedure accepts TCA party id and */
351 /* returns the last updated for that party. */
352 /* */
353 /* p_api_version Standard IN param */
354 /* p_commit Standard IN param */
355 /* p_init_msg_list Standard IN param */
356 /* p_validation_level Standard IN param */
357 /* p_party_id Party ID to get details for */
358 /* x_last_update_date Last Updated Date for Party */
359 /* x_return_status Standard OUT param */
360 /* x_msg_count Standard OUT param */
361 /* x_msg_data Standard OUT param */
362 /* */
363 /*----------------------------------------------------------------*/
364 PROCEDURE Get_PartyDetails
365 (
366 p_api_version IN NUMBER,
367 p_commit IN VARCHAR2 := fnd_api.g_false,
368 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
369 p_validation_level IN NUMBER := fnd_api.g_valid_level_full,
370 p_party_id IN NUMBER,
371 x_last_update_date OUT NOCOPY DATE,
375 IS
372 x_return_status OUT NOCOPY VARCHAR2,
373 x_msg_count OUT NOCOPY NUMBER,
374 x_msg_data OUT NOCOPY VARCHAR2 )
376 l_api_name CONSTANT VARCHAR2(30) := 'Get_PartyDetails';
377 l_api_version CONSTANT NUMBER := 1.0;
378 l_curr_party_id NUMBER := p_party_id;
379 CURSOR get_party_details IS
380 SELECT LAST_UPDATE_DATE
381 FROM HZ_PARTIES
382 WHERE PARTY_ID=l_curr_party_id;
383
384 BEGIN
385 -- Standard Start of API savepoint
386 SAVEPOINT Get_PartyDetails_Utl;
387
388 -- Standard call to check for call compatibility.
389 IF NOT FND_API.Compatible_API_Call (l_api_version,
390 p_api_version,
391 l_api_name,
392 G_PKG_NAME)
393 THEN
394 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
395 END IF;
396
397 -- Initialize message list if p_init_msg_list is set to TRUE.
398 IF FND_API.to_Boolean(p_init_msg_list) THEN
399 FND_MSG_PUB.initialize;
400 END IF;
401
402 -- Initialize API return status to success
403 x_return_status := FND_API.G_RET_STS_SUCCESS;
404
405 --
406 -- Begin API Body
407 --
408 FOR get_party_details_rec IN get_party_details LOOP
409 x_last_update_date:=get_party_details_rec.last_update_date;
410 END LOOP;
411
412
413 --
414 -- End API Body
415 --
416
417 -- Standard check of p_commit.
418 IF FND_API.To_Boolean( p_commit ) THEN
419 COMMIT WORK;
420 END IF;
421
422 -- Standard call to get message count and IF count is get message info.
423 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count,
424 p_data => x_msg_data );
425
426 EXCEPTION
427 WHEN FND_API.G_EXC_ERROR THEN
428 ROLLBACK TO Get_PartyDetails_Utl;
429 x_return_status := FND_API.G_RET_STS_ERROR ;
430 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count,
431 p_data => x_msg_data);
432 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
433 ROLLBACK TO Get_PartyDetails_Utl;
434 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
435 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count,
436 p_data => x_msg_data );
437 WHEN OTHERS THEN
438 ROLLBACK TO Get_PartyDetails_Utl;
439 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
440 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
441 THEN
442 FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME ,
443 l_api_name );
444 END IF;
445 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count,
446 p_data => x_msg_data );
447 END Get_PartyDetails;
448
449
450
451 END CSD_PARTIES_UTIL ;