DBA Data[Home] [Help]

PACKAGE BODY: APPS.AST_CAMP_OUTCOME_PVT

Source


1 PACKAGE BODY AST_camp_outcome_PVT as
2 /* $Header: astvrcob.pls 115.13 2002/02/06 11:44:24 pkm ship   $ */
3 
4 -- Start of Comments
5 -- Package name     : AST_camp_outcome_PVT
6 -- Purpose          :
7 -- History          :
8 -- NOTE             :
9 -- End of Comments
10 
11 
12 G_PKG_NAME CONSTANT VARCHAR2(30):= 'AST_camp_outcome_PVT';
13 G_FILE_NAME CONSTANT VARCHAR2(12) := 'astvrcob.pls';
14 
15 G_USER_ID         NUMBER := FND_GLOBAL.USER_ID;
16 G_LOGIN_ID        NUMBER := FND_GLOBAL.CONC_LOGIN_ID;
17 
18 -- FUNCTION to return initialized variables to forms
19 
20 FUNCTION get_camp_outcome_Rec RETURN ast_camp_outcome_pvt.camp_outcome_rec_type IS
21   l_variable ast_camp_outcome_pvt.camp_outcome_rec_type := ast_camp_outcome_pvt.g_miss_camp_outcome_rec;
22 BEGIN
23       return (l_variable);
24 END;
25 
26 -- Hint: Primary key needs to be returned.
27 PROCEDURE Create_camp_outcome(
28     P_Api_Version_Number         IN   NUMBER,
29     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
30     P_Commit                     IN   VARCHAR2     := FND_API.G_FALSE,
31     p_validation_level           IN   NUMBER       := FND_API.G_VALID_LEVEL_FULL,
32     P_camp_outcome_Rec           IN   camp_outcome_Rec_Type  := G_MISS_camp_outcome_REC,
33   --Hint: Add detail tables as parameter lists if it's master-detail relationship.
34     X_Return_Status              OUT  VARCHAR2,
35     X_Msg_Count                  OUT  NUMBER,
36     X_Msg_Data                   OUT  VARCHAR2
37     )
38 
39  IS
40   l_api_name                CONSTANT VARCHAR2(30) := 'Create_camp_outcome';
41   l_api_version_number      CONSTANT NUMBER   := 1.0;
42   l_return_status_full      VARCHAR2(1);
43   l_camp_outcome_Rec        camp_outcome_Rec_Type  := p_camp_outcome_Rec;
44 
45   CURSOR cur_source IS
46   SELECT source_code_id, source_code, arc_source_code_for, source_code_for_id
47   FROM ams_source_codes
48   WHERE arc_source_code_for = 'CAMP'
49   AND source_code = l_camp_outcome_Rec.source_code
50   AND source_code_for_id = l_camp_outcome_Rec.object_id;
51 
52   l_count number;
53  BEGIN
54 
55 
56       -- Standard Start of API savepoint
57       SAVEPOINT CREATE_camp_outcome_PVT;
58 
59       -- Standard call to check for call compatibility.
60       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
61                          	             p_api_version_number,
62                                            l_api_name,
63                                            G_PKG_NAME)
64       THEN
65           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
66       END IF;
67 
68       -- Initialize message list if p_init_msg_list is set to TRUE.
69       IF FND_API.to_Boolean( p_init_msg_list )
70       THEN
71           FND_MSG_PUB.initialize;
72       END IF;
73 
74 
75       -- Debug Message
76       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'AST', 'Private API: ' || l_api_name || 'start');
77 
78 
79       -- Initialize API return status to SUCCESS
80       x_return_status := FND_API.G_RET_STS_SUCCESS;
81 
82       --
83       -- API body
84       --
85 
86       -- ******************************************************************
87       -- Validate Environment
88       -- ******************************************************************
89       IF FND_GLOBAL.User_Id IS NULL
90       THEN
91           IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
92           THEN
93               FND_MESSAGE.Set_Name(' + appShortName +', 'UT_CANNOT_GET_PROFILE_VALUE');
94               FND_MESSAGE.Set_Token('PROFILE', 'USER_ID', FALSE);
95               FND_MSG_PUB.ADD;
96           END IF;
97           RAISE FND_API.G_EXC_ERROR;
98       END IF;
99 
100 
101       OPEN cur_source;
102       FETCH cur_source INTO l_camp_outcome_Rec.source_code_id, l_camp_outcome_Rec.source_code,
103                             l_camp_outcome_Rec.object_type, l_camp_outcome_Rec.object_id;
104       CLOSE cur_source;
105 
106       l_camp_outcome_Rec.object_version_number := 1.0;
107 
108 	 -- add check for weird duplicate records created on astsavesc.jsp
109       select count(*) into l_count from jtf_ih_outcomes_campaigns
110 	 where object_id =  l_camp_outcome_Rec.object_id
111             and outcome_id = l_camp_outcome_Rec.outcome_id;
112       if l_count > 0 then
113 	   return;
114       end if;
115 
116       INSERT INTO jtf_ih_outcomes_campaigns
117          (outcome_id
118          ,object_id
119          ,object_version_number
120          ,created_by
121          ,creation_date
122          ,last_updated_by
123          ,last_update_date
124          ,last_update_login
125          ,object_type
126          ,source_code_id
127          ,source_code)
128       VALUES
129          (l_camp_outcome_Rec.outcome_id
130          ,l_camp_outcome_Rec.object_id
131          ,l_camp_outcome_Rec.object_version_number
132          ,l_camp_outcome_Rec.created_by
133          ,l_camp_outcome_Rec.creation_date
134          ,l_camp_outcome_Rec.last_updated_by
135          ,l_camp_outcome_Rec.last_update_date
136          ,l_camp_outcome_Rec.last_update_login
137          ,l_camp_outcome_Rec.object_type
138          ,l_camp_outcome_Rec.source_code_id
139          ,l_camp_outcome_Rec.source_code
140          );
141 
142       --
143       -- End of API body
144       --
145 
146       -- Standard check for p_commit
147       IF FND_API.to_Boolean( p_commit )
148       THEN
149           COMMIT WORK;
150       END IF;
151 
152 
153       -- Debug Message
154       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'AST', 'Private API: ' || l_api_name || 'end');
155 
156       -- Standard call to get message count and if count is 1, get message info.
157       FND_MSG_PUB.Count_And_Get
158       (  p_count          =>   x_msg_count,
159          p_data           =>   x_msg_data
160       );
161 
162       EXCEPTION
163           WHEN FND_API.G_EXC_ERROR THEN
164               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
165                    P_API_NAME => L_API_NAME
166                   ,P_PKG_NAME => G_PKG_NAME
167                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
168                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
169                   ,X_MSG_COUNT => X_MSG_COUNT
170                   ,X_MSG_DATA => X_MSG_DATA
171                   ,X_RETURN_STATUS => X_RETURN_STATUS);
172 
173           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
174               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
175                    P_API_NAME => L_API_NAME
176                   ,P_PKG_NAME => G_PKG_NAME
177                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
178                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
179                   ,X_MSG_COUNT => X_MSG_COUNT
180                   ,X_MSG_DATA => X_MSG_DATA
181                   ,X_RETURN_STATUS => X_RETURN_STATUS);
182 
183           WHEN OTHERS THEN
184               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
185                    P_API_NAME => L_API_NAME
186                   ,P_PKG_NAME => G_PKG_NAME
187                   ,P_EXCEPTION_LEVEL => JTF_PLSQL_API.G_EXC_OTHERS
188                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
189                   ,X_MSG_COUNT => X_MSG_COUNT
190                   ,X_MSG_DATA => X_MSG_DATA
191                   ,X_RETURN_STATUS => X_RETURN_STATUS);
192 End Create_camp_outcome;
193 
194 
195 -- Hint: Add corresponding delete detail table procedures if it's master-detail relationship.
196 --       The Master delete procedure may not be needed depends on different business requirements.
197 PROCEDURE Delete_camp_outcome(
198     P_Api_Version_Number         IN   NUMBER,
199     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
200     P_Commit                     IN   VARCHAR2     := FND_API.G_FALSE,
201     p_validation_level           IN   NUMBER       := FND_API.G_VALID_LEVEL_FULL,
202     P_camp_outcome_Rec           IN   camp_outcome_Rec_Type,
203     X_Return_Status              OUT  VARCHAR2,
204     X_Msg_Count                  OUT  NUMBER,
205     X_Msg_Data                   OUT  VARCHAR2
206     )
207 
208 IS
209  l_api_name                CONSTANT VARCHAR2(30) := 'Delete_camp_outcome';
210  l_api_version_number      CONSTANT NUMBER   := 1.0;
211  l_camp_outcome_Rec        camp_outcome_Rec_Type := p_camp_outcome_Rec;
212 BEGIN
213       -- Standard Start of API savepoint
214       SAVEPOINT DELETE_camp_outcome_PVT;
215 
216       -- Standard call to check for call compatibility.
217       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
218                          	             p_api_version_number,
219                                            l_api_name,
220                                            G_PKG_NAME)
221       THEN
222           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
223       END IF;
224 
225 
226       -- Initialize message list if p_init_msg_list is set to TRUE.
227       IF FND_API.to_Boolean( p_init_msg_list )
228       THEN
229           FND_MSG_PUB.initialize;
230       END IF;
231 
232 
233       -- Debug Message
234       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'AST', 'Private API: ' || l_api_name || 'start');
235 
236 
237 
238       -- Initialize API return status to SUCCESS
239       x_return_status := FND_API.G_RET_STS_SUCCESS;
240 
241       --
242       -- Api body
243       --
244 
245       DELETE FROM jtf_ih_outcomes_campaigns
246       WHERE outcome_id = l_camp_outcome_Rec.outcome_id
247       AND source_code = l_camp_outcome_Rec.source_code
248       AND object_id = l_camp_outcome_Rec.object_id;
249 
250       -- Standard check for p_commit
251       IF FND_API.to_Boolean( p_commit )
252       THEN
253           COMMIT WORK;
254       END IF;
255 
256 
257       -- Debug Message
258       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'AST', 'Private API: ' || l_api_name || 'end');
259 
260 
261 
262       -- Standard call to get message count and if count is 1, get message info.
263       FND_MSG_PUB.Count_And_Get
264       (  p_count          =>   x_msg_count,
265          p_data           =>   x_msg_data
266       );
267 
268 EXCEPTION
269           WHEN FND_API.G_EXC_ERROR THEN
270               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
271                    P_API_NAME => L_API_NAME
272                   ,P_PKG_NAME => G_PKG_NAME
273                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
274                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
275                   ,X_MSG_COUNT => X_MSG_COUNT
276                   ,X_MSG_DATA => X_MSG_DATA
277                   ,X_RETURN_STATUS => X_RETURN_STATUS);
278 
279           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
280               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
281                    P_API_NAME => L_API_NAME
282                   ,P_PKG_NAME => G_PKG_NAME
283                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
284                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
285                   ,X_MSG_COUNT => X_MSG_COUNT
286                   ,X_MSG_DATA => X_MSG_DATA
287                   ,X_RETURN_STATUS => X_RETURN_STATUS);
288 
289           WHEN OTHERS THEN
290               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
291                    P_API_NAME => L_API_NAME
292                   ,P_PKG_NAME => G_PKG_NAME
293                   ,P_EXCEPTION_LEVEL => JTF_PLSQL_API.G_EXC_OTHERS
294                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
295                   ,X_MSG_COUNT => X_MSG_COUNT
296                   ,X_MSG_DATA => X_MSG_DATA
297                   ,X_RETURN_STATUS => X_RETURN_STATUS);
298 End Delete_camp_outcome;
299 
300 PROCEDURE Save_Change(
304     p_validation_level           IN   NUMBER       := FND_API.G_VALID_LEVEL_FULL,
301     P_Api_Version_Number         IN   NUMBER,
302     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
303     P_Commit                     IN   VARCHAR2     := FND_API.G_FALSE,
305     X_Return_Status              OUT  VARCHAR2,
306     X_Msg_Count                  OUT  NUMBER,
307     X_Msg_Data                   OUT  VARCHAR2
308     )
309 
310 IS
311  l_api_name                CONSTANT VARCHAR2(30) := 'Save_Change';
312  l_api_version_number      CONSTANT NUMBER   := 1.0;
313 BEGIN
314       -- Standard Start of API savepoint
315       SAVEPOINT Save_Change_PVT;
316 
317       -- Standard call to check for call compatibility.
318       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
319                          	             p_api_version_number,
320                                            l_api_name,
321                                            G_PKG_NAME)
322       THEN
323           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
324       END IF;
325 
326 
327       -- Initialize message list if p_init_msg_list is set to TRUE.
328       IF FND_API.to_Boolean( p_init_msg_list )
329       THEN
330           FND_MSG_PUB.initialize;
331       END IF;
332 
333 
334       -- Debug Message
335       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'AST', 'Private API: ' || l_api_name || 'start');
336 
337 
338 
339       -- Initialize API return status to SUCCESS
340       x_return_status := FND_API.G_RET_STS_SUCCESS;
341 
342       --
343       -- Api body
344       --
345 
346       -- Standard check for p_commit
347       IF FND_API.to_Boolean( p_commit )
348       THEN
349           COMMIT WORK;
350       END IF;
351 
352 
353       -- Debug Message
354       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'AST', 'Private API: ' || l_api_name || 'end');
355 
356 
357 
358       -- Standard call to get message count and if count is 1, get message info.
359       FND_MSG_PUB.Count_And_Get
360       (  p_count          =>   x_msg_count,
361          p_data           =>   x_msg_data
362       );
363 
364 EXCEPTION
365           WHEN FND_API.G_EXC_ERROR THEN
366               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
367                    P_API_NAME => L_API_NAME
368                   ,P_PKG_NAME => G_PKG_NAME
369                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
370                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
371                   ,X_MSG_COUNT => X_MSG_COUNT
372                   ,X_MSG_DATA => X_MSG_DATA
373                   ,X_RETURN_STATUS => X_RETURN_STATUS);
374 
375           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
376               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
377                    P_API_NAME => L_API_NAME
378                   ,P_PKG_NAME => G_PKG_NAME
379                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
380                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
381                   ,X_MSG_COUNT => X_MSG_COUNT
382                   ,X_MSG_DATA => X_MSG_DATA
383                   ,X_RETURN_STATUS => X_RETURN_STATUS);
384 
385           WHEN OTHERS THEN
386               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
387                    P_API_NAME => L_API_NAME
388                   ,P_PKG_NAME => G_PKG_NAME
389                   ,P_EXCEPTION_LEVEL => JTF_PLSQL_API.G_EXC_OTHERS
390                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
391                   ,X_MSG_COUNT => X_MSG_COUNT
392                   ,X_MSG_DATA => X_MSG_DATA
393                   ,X_RETURN_STATUS => X_RETURN_STATUS);
394 End Save_Change;
395 
396 PROCEDURE Save_Defaults(
397     P_Api_Version_Number         IN   NUMBER,
398     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
399     P_Commit                     IN   VARCHAR2     := FND_API.G_FALSE,
400     p_validation_level           IN   NUMBER       := FND_API.G_VALID_LEVEL_FULL,
401     p_object_id                  IN   NUMBER,
402     p_outcome_id                 IN   NUMBER,
403     p_result_id                  IN   NUMBER,
404     p_reason_id                  IN   NUMBER,
405     p_action_id                  IN   NUMBER,
406     p_action_item_id             IN   NUMBER,
407     p_defaultyn                  IN   VARCHAR2,
408     X_Return_Status              OUT  VARCHAR2,
409     X_Msg_Count                  OUT  NUMBER,
410     X_Msg_Data                   OUT  VARCHAR2
411     )
412 
413 IS
414  l_api_name                CONSTANT VARCHAR2(30) := 'Save_Default';
415  l_api_version_number      CONSTANT NUMBER   := 1.0;
416  l_wrapID                  NUMBER;
417  l_object_type             VARCHAR2(50);
418  d_object_type             VARCHAR2(50);
419 
420  Cursor WrapUp_Camp(p_Camp_id number) IS
421 	  Select object_type from JTF_IH_WRAP_UPS where object_id = p_Camp_id;
422 
423 BEGIN
424       -- Standard Start of API savepoint
425       SAVEPOINT Save_Change_PVT;
426 
427       -- Standard call to check for call compatibility.
428       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
429                          	             p_api_version_number,
430                                            l_api_name,
431                                            G_PKG_NAME)
435 
432       THEN
433           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
434       END IF;
436 
437       -- Initialize message list if p_init_msg_list is set to TRUE.
438       IF FND_API.to_Boolean( p_init_msg_list )
439       THEN
440           FND_MSG_PUB.initialize;
441       END IF;
442 
443 
444       -- Debug Message
445       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
446 			 'AST', 'Private API: ' || l_api_name || 'start');
447 
448 	 -- Initialize API return status to SUCCESS
449       x_return_status := FND_API.G_RET_STS_SUCCESS;
450 
451       --
452       -- Api body
453       --
454 	 --  We need campaign ID for anything
455     	--
456 	 If p_object_id is not NULL then
457 
458 		  if (p_defaultyn = 'Y') then
459 			 l_object_type := 'DEFAULT';
460             else
461 			 l_object_type := null;
462 		  end if;
463 
464 		  -- Check the campaign existing default status
465 		  Open  Wrapup_Camp(p_object_id);
466 		  Fetch Wrapup_Camp into d_object_type;
467 		  if Wrapup_Camp%FOUND then
468 
469 			  if (l_object_type = 'DEFAULT') then
470 			     update JTF_IH_WRAP_UPS
471 					set object_type = ''
472 					where object_id <> p_object_id;
473 	            end if;
474 
475 			  update JTF_IH_WRAP_UPS set
476 					outcome_id = p_outcome_id,
477 					result_id = p_result_id,
478 					reason_id = p_reason_id,
479 					action_activity_id = p_action_id,
480 					source_code_id = p_action_item_id,
481 					source_code = 'DEFAULT',
482 					object_type = l_object_type
483 					where object_id = p_object_id;
484 		 else
485 
486 			select JTF_IH_WRAP_UPS_S1.nextval into l_wrapId from dual;
487 
488 			insert into JTF_IH_WRAP_UPS (WRAP_ID, OBJECT_ID, OUTCOME_ID,
489 				RESULT_ID, REASON_ID, ACTION_ACTIVITY_ID, SOURCE_CODE_ID,
490 				CREATED_BY, CREATION_DATE, LAST_UPDATED_BY, last_update_date,
491 				SOURCE_CODE, object_type)
492 				VALUES (l_wrapid, p_object_id, p_outcome_id, p_result_id,
493 				p_reason_id, p_action_id, p_action_item_id, G_USER_ID, SYSDATE,
494 				-1, SYSDATE, 'DEFAULT', l_object_type);
495 
496 			if (l_object_type = 'DEFAULT') then
497 				update JTF_IH_WRAP_UPS set OBJECT_TYPE = ''
498 					where OBJECT_ID <> p_object_id;
499 			end if;
500 
501 		 end if;
502 		 Close Wrapup_Camp;
503 	end if;
504 
505       -- Standard check for p_commit
506       IF FND_API.to_Boolean( p_commit )
507       THEN
508           COMMIT WORK;
509       END IF;
510 
511 
512       -- Debug Message
513       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
514 			'AST', 'Private API: ' || l_api_name || 'end');
515 
516 	-- Standard call to get message count and if count is 1, get message info.
517       FND_MSG_PUB.Count_And_Get
518       (  p_count          =>   x_msg_count,
519          p_data           =>   x_msg_data
520       );
521 
522 EXCEPTION
523           WHEN FND_API.G_EXC_ERROR THEN
524               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
525                    P_API_NAME => L_API_NAME
526                   ,P_PKG_NAME => G_PKG_NAME
527                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
528                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
529                   ,X_MSG_COUNT => X_MSG_COUNT
530                   ,X_MSG_DATA => X_MSG_DATA
531                   ,X_RETURN_STATUS => X_RETURN_STATUS);
532 
533           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
534               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
535                    P_API_NAME => L_API_NAME
536                   ,P_PKG_NAME => G_PKG_NAME
537                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
538                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
539                   ,X_MSG_COUNT => X_MSG_COUNT
540                   ,X_MSG_DATA => X_MSG_DATA
541                   ,X_RETURN_STATUS => X_RETURN_STATUS);
542 
543           WHEN OTHERS THEN
544               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
545                    P_API_NAME => L_API_NAME
546                   ,P_PKG_NAME => G_PKG_NAME
547                   ,P_EXCEPTION_LEVEL => JTF_PLSQL_API.G_EXC_OTHERS
548                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
549                   ,X_MSG_COUNT => X_MSG_COUNT
550                   ,X_MSG_DATA => X_MSG_DATA
551                   ,X_RETURN_STATUS => X_RETURN_STATUS);
552 End Save_Defaults;
553 
554 PROCEDURE Reset_Change(
555     P_Api_Version_Number         IN   NUMBER,
556     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
557     P_Commit                     IN   VARCHAR2     := FND_API.G_FALSE,
558     p_validation_level           IN   NUMBER       := FND_API.G_VALID_LEVEL_FULL,
559     X_Return_Status              OUT  VARCHAR2,
560     X_Msg_Count                  OUT  NUMBER,
561     X_Msg_Data                   OUT  VARCHAR2
562     )
563 
564 IS
565  l_api_name                CONSTANT VARCHAR2(30) := 'Reset_Change';
566  l_api_version_number      CONSTANT NUMBER   := 1.0;
567 BEGIN
568       -- Standard Start of API savepoint
569       SAVEPOINT Save_Change_PVT;
570 
571       -- Standard call to check for call compatibility.
572       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
576       THEN
573                          	             p_api_version_number,
574                                            l_api_name,
575                                            G_PKG_NAME)
577           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
578       END IF;
579 
580 
581       -- Initialize message list if p_init_msg_list is set to TRUE.
582       IF FND_API.to_Boolean( p_init_msg_list )
583       THEN
584           FND_MSG_PUB.initialize;
585       END IF;
586 
587 
588       -- Debug Message
589       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'AST', 'Private API: ' || l_api_name || 'start');
590 
591 
592 
593       -- Initialize API return status to SUCCESS
594       x_return_status := FND_API.G_RET_STS_SUCCESS;
595 
596       --
597       -- Api body
598       --
599 	 ROLLBACK;
600 
601       -- Standard check for p_commit
602       IF FND_API.to_Boolean( p_commit )
603       THEN
604           COMMIT WORK;
605       END IF;
606 
607 
608       -- Debug Message
609       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'AST', 'Private API: ' || l_api_name || 'end');
610 
611 
612 
613       -- Standard call to get message count and if count is 1, get message info.
614       FND_MSG_PUB.Count_And_Get
615       (  p_count          =>   x_msg_count,
616          p_data           =>   x_msg_data
617       );
618 
619 EXCEPTION
620           WHEN FND_API.G_EXC_ERROR THEN
621               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
622                    P_API_NAME => L_API_NAME
623                   ,P_PKG_NAME => G_PKG_NAME
624                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
625                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
626                   ,X_MSG_COUNT => X_MSG_COUNT
627                   ,X_MSG_DATA => X_MSG_DATA
628                   ,X_RETURN_STATUS => X_RETURN_STATUS);
629 
630           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
631               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
632                    P_API_NAME => L_API_NAME
633                   ,P_PKG_NAME => G_PKG_NAME
634                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
635                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
636                   ,X_MSG_COUNT => X_MSG_COUNT
637                   ,X_MSG_DATA => X_MSG_DATA
638                   ,X_RETURN_STATUS => X_RETURN_STATUS);
639 
640           WHEN OTHERS THEN
641               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
642                    P_API_NAME => L_API_NAME
643                   ,P_PKG_NAME => G_PKG_NAME
644                   ,P_EXCEPTION_LEVEL => JTF_PLSQL_API.G_EXC_OTHERS
645                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
646                   ,X_MSG_COUNT => X_MSG_COUNT
647                   ,X_MSG_DATA => X_MSG_DATA
648                   ,X_RETURN_STATUS => X_RETURN_STATUS);
649 End Reset_Change;
650 
651 End AST_camp_outcome_PVT;