[Home] [Help]
PACKAGE BODY: APPS.JTF_PERZ_PROFILE_PUB
Source
1 PACKAGE BODY JTF_PERZ_PROFILE_PUB as
2 /* $Header: jtfzppfb.pls 120.2 2005/11/02 04:20:20 skothe ship $ */
3 --
4 --
5 -- Start of Comments
6 --
7 -- NAME
8 -- JTF_PERZ_PROFILE_PUB
9 --
10 -- PURPOSE
11 -- Public API for
12 --
13 -- NOTES
14 -- This is a pulicly accessible pacakge. It should be used by all
15 -- sources for creating, getting and updating profiles in the Personalization
16 -- framework.
17 --
18 -- HISTORY
19 -- 07/26/99 SMATTEGU Created
20 -- 08/17/99 SMATTEGU Changed the G_FILE_NAME value
21 -- 09/30/99 SMATTEGU Changed update_profile(), create_profile()
22 --
23 --
24 -- End of Comments
25
26 --******************************************************************************
27 --******************************************************************************
28 G_PKG_NAME CONSTANT VARCHAR2(30):='JTF_PERZ_PROFILE_PUB';
29 G_FILE_NAME CONSTANT VARCHAR2(12):='jtfpppfb.pls';
30 --******************************************************************************
31 --
32 -- API name : Create_Profile
33 -- Type : Public
34 -- Function : Create Profile, given a profile name and
35 -- set of attributes/values
36 --
37 -- Parameters :
38 -- IN :
39 -- p_api_version_number IN NUMBER Required
40 -- p_init_msg_list IN VARCHAR2 Optional
41 -- Default = FND_API.G_FALSE
42 -- p_profile_id IN NUMBER
43 -- p_profile_name IN VARCHAR2
44 -- p_profile_type IN VARCHAR2
45 -- p_profile_desc IN VARCHAR2
46 -- p_profile_attrib_tbl IN JTF_PERZ_PROFILE_PUB.PROFILE_ATTRIB_TBL_TYPE,
47 --
48 -- OUT :
49 -- x_return_status OUT VARCHAR2(1)
50 -- x_msg_count OUT NUMBER
51 -- x_msg_data OUT VARCHAR2(2000)
52 --
53 --
54 --
55 -- Version : Current version 1.0
56 -- Initial version 1.0
57 --
58 -- Notes: Personalization Framework API to create a profile,
59 -- This API will create a profile based on profile name,
60 -- profile attributes and values.
61 --
62 -- USAGE NOTES :
63 --
64 -- Procedure Name: Create_Profile
65 -- This procedure will insert the profile header and profile attributes
66 -- This procedure will in turn call
67 -- insert_profile() to insert Profile.
68 -- insert_profile_attributes() to insert the attributes
69 -- for a given profile.
70
71 --******************************************************************************
72
73 PROCEDURE Create_Profile
74 ( p_api_version_number IN NUMBER,
75 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
76 p_commit IN VARCHAR2 := FND_API.G_FALSE,
77 p_profile_id IN NUMBER,
78 p_profile_name IN VARCHAR2 := NULL,
79 p_profile_type IN VARCHAR2 := NULL,
80 p_profile_desc IN VARCHAR2 := NULL,
81 p_profile_attrib_tbl IN JTF_PERZ_PROFILE_PUB.PROFILE_ATTRIB_TBL_TYPE
82 := JTF_PERZ_PROFILE_PUB.G_MISS_PROFILE_ATTRIB_TBL,
83
84 x_profile_name OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
85 x_profile_id OUT NOCOPY /* file.sql.39 change */ NUMBER,
86 x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
87 x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER,
88 x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
89 )IS
90 l_api_version_number NUMBER := p_api_version_number;
91 l_api_name CONSTANT VARCHAR2(30) := 'Create Profile';
92 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
93
94
95 BEGIN
96
97 -- ******* Standard Begins ********
98
99 -- Standard Start of API savepoint
100 SAVEPOINT CREATE_JTF_PERZ_PROFILE_PUB;
101
102 -- Standard call to check for call compatibility.
103 -- IF NOT FND_API.Compatible_API_Call ( l_api_version_number, p_api_version_number, l_api_name, G_PKG_NAME)
104 -- THEN
105 -- RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
106 -- END IF;
107
108 -- Initialize message list if p_init_msg_list is set to TRUE.
109 IF FND_API.to_Boolean( p_init_msg_list )
110 THEN
111 FND_MSG_PUB.initialize;
112 END IF;
113
114 -- Initialize API return status to success
115 x_return_status := FND_API.G_RET_STS_SUCCESS;
116
117 JTF_PERZ_PROFILE_PVT.Create_Profile
118 ( l_api_version_number,
119 p_init_msg_list,
120 p_commit,
121 p_profile_id,
122 p_profile_name,
123 p_profile_type,
124 p_profile_desc,
125 p_profile_attrib_tbl,
126 x_profile_name,
127 x_profile_id,
128 l_return_status,
129 x_msg_count,
130 x_msg_data
131 );
132 x_return_status := l_return_status;
133 -- ******** Standard Ends ***********
134 --
135 -- End of API body.
136 --
137 -- 7. Commit the whole thing
138
139 -- Standard check of p_commit.
140 IF FND_API.To_Boolean ( p_commit )
141 THEN
142 COMMIT WORK;
143 END IF;
144
145 -- Debug Message
146 -- Standard call to get message count and if count is 1, get message info.
147 FND_MSG_PUB.Count_And_Get
148 (
149 p_count => x_msg_count,
150 p_data => x_msg_data
151 );
152
153 EXCEPTION
154
155 WHEN FND_API.G_EXC_ERROR THEN
156
157 ROLLBACK TO CREATE_JTF_PERZ_PROFILE_PUB;
158 x_return_status := FND_API.G_RET_STS_ERROR ;
159 FND_MSG_PUB.Count_And_Get
160 ( p_count => x_msg_count,
161 p_data => x_msg_data
162 );
163
164 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR )
165 THEN
166 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME, l_api_name );
167 END IF;
168
169 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
170
171 ROLLBACK TO CREATE_JTF_PERZ_PROFILE_PUB;
172 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
173 FND_MSG_PUB.Count_And_Get
174 ( p_count => x_msg_count,
175 p_data => x_msg_data
176 );
177
178 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR )
179 THEN
180 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME, l_api_name );
181 END IF;
182
183 WHEN OTHERS THEN
184
185 ROLLBACK TO CREATE_JTF_PERZ_PROFILE_PUB;
186 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
187 FND_MSG_PUB.Count_And_Get
188 ( p_count => x_msg_count,
189 p_data => x_msg_data
190 );
191
192 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR )
193 THEN
194 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME, l_api_name );
195 END IF;
196
197 END Create_Profile;
198
199 --******************************************************************************
200 --
201 -- Start of Comments
202 --
203 -- API name : Update_Profile
204
205 -- Start of Comments
206 --
207 -- API name : Update_Profile
208 -- Type : Public
209 -- Function : Update a profile with a given set of parameters
210 --
211 -- Parameters :
212 -- IN :
213 -- p_api_version_number IN NUMBER Required
214 -- p_init_msg_list IN VARCHAR2 Optional
215 -- Default = FND_API.G_FALSE
216 -- p_profile_id IN NUMBER Optional
217 -- p_profile_name IN VARCHAR2 Optional
218 -- p_profile_type IN VARCHAR2
219 -- p_profile_desc IN VARCHAR2
220 -- p_profile_attrib_tbl IN JTF_PERZ_PROFILE_PUB.PROFILE_ATTRIB_TBL_TYPE,
221 --
222 -- OUT :
223 -- x_Profile_Tbl OUT JTF_PERZ_PROFILE_PUB.PROFILE_OUT_TBL,
224 -- x_return_status OUT VARCHAR2(1)
225 -- x_msg_count OUT NUMBER
226 -- x_msg_data OUT VARCHAR2(2000)
227 --
228 --
229 --
230 -- Version : Current version 1.0
231 -- Initial version 1.0
232 --
233 -- USAGE NOTES :
234 --
235 -- Procedure Name: Update
236 -- This procedure will update the profile header and profile attributes
237 -- This procedure will in turn call
238 -- update_profile() to update Profile.
239 -- update_profile_attributes() to update the attributes
240 -- for a given profile.
241
242 --******************************************************************************
243 PROCEDURE Update_Profile
244 ( p_api_version_number IN NUMBER,
245 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
246 p_commit IN VARCHAR2 := FND_API.G_FALSE,
247 p_profile_id IN NUMBER,
248 p_profile_name IN VARCHAR2,
249 p_profile_type IN VARCHAR2,
250 p_profile_desc IN VARCHAR2,
251 p_active_flag IN VARCHAR2,
252 p_profile_attrib_tbl IN JTF_PERZ_PROFILE_PUB.PROFILE_ATTRIB_TBL_TYPE
253 := JTF_PERZ_PROFILE_PUB.G_MISS_PROFILE_ATTRIB_TBL,
254 x_profile_id OUT NOCOPY /* file.sql.39 change */ NUMBER,
255 x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
256 x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER,
257 x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
258 )IS
259
260 l_api_version_number NUMBER := p_api_version_number;
261 l_api_name CONSTANT VARCHAR2(30) := 'Update Profile';
262 l_return_status VARCHAR2(240) := FND_API.G_RET_STS_SUCCESS;
263
264
265 BEGIN
266
267 -- ******* Standard Begins ********
268
269 -- Standard Start of API savepoint
270 SAVEPOINT UPDATE_JTF_PERZ_PROFILE_PUB;
271 -- Standard call to check for call compatibility.
272 IF NOT FND_API.Compatible_API_Call ( l_api_version_number, p_api_version_number, l_api_name, G_PKG_NAME)
273 THEN
274 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
275 END IF;
276
277 -- Initialize message list if p_init_msg_list is set to TRUE.
278 IF FND_API.to_Boolean( p_init_msg_list )
279 THEN
280 FND_MSG_PUB.initialize;
281 END IF;
282 -- -- Initialize API return status to success
283 if x_return_status is null then
284 x_return_status := FND_API.G_RET_STS_SUCCESS;
285 end if;
286
287
288 JTF_PERZ_PROFILE_PVT.Update_Profile
289 ( p_api_version_number,
290 p_init_msg_list,
291 p_commit,
292 p_profile_id,
293 p_profile_name,
294 p_profile_type,
295 p_profile_desc,
296 p_active_flag,
297 p_profile_attrib_tbl,
298 x_profile_id,
299 l_return_status,
300 x_msg_count,
301 x_msg_data
302 );
303 x_return_status := l_return_status;
304
305 -- ******** Standard Ends ***********
306 --
307 -- End of API body.
308 --
309 -- 7. Commit the whole thing
310
311 -- Standard check of p_commit.
312 IF FND_API.To_Boolean ( p_commit )
313 THEN
314 COMMIT WORK;
315 END IF;
316
317 -- Debug Message
318 -- Standard call to get message count and if count is 1, get message info.
319 FND_MSG_PUB.Count_And_Get
320 (
321 p_count => x_msg_count,
322 p_data => x_msg_data
323 );
324
325
326 EXCEPTION
327
328 WHEN FND_API.G_EXC_ERROR THEN
329
330 ROLLBACK TO UPDATE_JTF_PERZ_PROFILE_PUB;
331 x_return_status := FND_API.G_RET_STS_ERROR ;
332 FND_MSG_PUB.Count_And_Get
333 ( p_count => x_msg_count,
334 p_data => x_msg_data
335 );
336
337 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR )
338 THEN
339 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME, l_api_name );
340 END IF;
341
342 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
343
344 ROLLBACK TO UPDATE_JTF_PERZ_PROFILE_PUB;
345 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
346
347 FND_MSG_PUB.Count_And_Get
348 ( p_count => x_msg_count,
349 p_data => x_msg_data
350 );
351
352 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR )
353 THEN
354 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME, l_api_name );
355 END IF;
356
357 WHEN OTHERS THEN
358
359 ROLLBACK TO UPDATE_JTF_PERZ_PROFILE_PUB;
360 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
361
362 FND_MSG_PUB.Count_And_Get
363 ( p_count => x_msg_count,
364 p_data => x_msg_data
365 );
366
367 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR )
368 THEN
369 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME, l_api_name );
370 END IF;
371
372 END Update_Profile;
373 --******************************************************************************
374 -- Start of Comments
375 --
376 -- API name : Get_Profile
377 -- Type : Public
378 -- Function : Return a profile(s) for a given set of parameters
379 --
380 -- Parameters :
381 -- IN :
382 -- p_api_version_number IN NUMBER Required
383 -- p_init_msg_list IN VARCHAR2 Optional
384 -- Default = FND_API.G_FALSE
385 -- p_profile_id IN NUMBER Optional
386 -- p_profile_name IN VARCHAR2 Optional
387 -- p_profile_type IN VARCHAR2
388 -- p_profile_desc IN VARCHAR2
389 -- p_profile_attrib_tbl IN JTF_PERZ_PROFILE_PUB.PROFILE_ATTRIB_TBL_TYPE,
390 --
391 -- OUT :
392 -- x_profile_tbl OUT JTF_PERZ_PROFILE_PUB.PROFILE_OUT_TBL,
393 -- x_return_status OUT VARCHAR2(1)
394 -- x_msg_count OUT NUMBER
395 -- x_msg_data OUT VARCHAR2(2000)
396 --
397 --
398 --
399 -- Version : Current version 1.0
400 -- Initial version 1.0
401 --
402 -- USAGE NOTES :
403 --
404 --******************************************************************************
405
406 --
407 PROCEDURE Get_Profile
408 ( p_api_version_number IN NUMBER,
409 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
410
411 p_profile_id IN NUMBER,
412 p_profile_name IN VARCHAR2,
413 p_profile_type IN VARCHAR2,
414 p_profile_attrib_tbl IN JTF_PERZ_PROFILE_PUB.PROFILE_ATTRIB_TBL_TYPE
415 := JTF_PERZ_PROFILE_PUB.G_MISS_PROFILE_ATTRIB_TBL,
416
417 x_profile_tbl OUT NOCOPY /* file.sql.39 change */ JTF_PERZ_PROFILE_PUB.PROFILE_OUT_TBL_TYPE,
418 x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
419 x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER,
420 x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
421 )IS
422
423 l_api_version_number NUMBER := p_api_version_number;
424 l_api_name CONSTANT VARCHAR2(30) := 'Create Profile';
425 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
426
427
428 BEGIN
429
430 -- ******* Standard Begins ********
431
432 -- Standard call to check for call compatibility.
433 -- IF NOT FND_API.Compatible_API_Call ( l_api_version_number, p_api_version_number, l_api_name, G_PKG_NAME)
434 -- THEN
435 -- RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
436 -- END IF;
437
438 -- Initialize message list if p_init_msg_list is set to TRUE.
439 IF FND_API.to_Boolean( p_init_msg_list )
440 THEN
441 FND_MSG_PUB.initialize;
442 END IF;
443
444 -- Initialize API return status to success
445 l_return_status := FND_API.G_RET_STS_SUCCESS;
446
447 JTF_PERZ_PROFILE_PVT.Get_Profile
448 ( l_api_version_number,
449 p_init_msg_list,
450 p_profile_id,
451 p_profile_name,
452 p_profile_type,
453 p_profile_attrib_tbl,
454 x_profile_tbl,
455 l_return_status,
456 x_msg_count,
457 x_msg_data
458 );
459
460 if (l_return_status = FND_API.G_RET_STS_ERROR) then
461 x_return_status := FND_API.G_RET_STS_ERROR ;
462 elsif(l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) then
463 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
464 else
465 x_return_status := FND_API.G_RET_STS_SUCCESS;
466 end if;
467 -- x_return_status := FND_API.G_RET_STS_SUCCESS;
468 -- x_profile_tbl(1).PROFILE_ID := 786;
469 -- x_profile_tbl(1).PROFILE_NAME := 'cchandra';
470 -- x_profile_tbl(1).PROFILE_TYPE := 'TYPE';
471 --
472 -- x_profile_tbl(1).PROFILE_ATTRIBUTE := 'attrib100';
473 -- x_profile_tbl(1).attribute_type := 'attribtype1';
474 -- x_profile_tbl(1).attribute_value := 'attribval1';
475 end Get_Profile;
476 --******************************************************************************
477 --******************************************************************************
478 END JTF_PERZ_PROFILE_PUB ;