DBA Data[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 ;