DBA Data[Home] [Help]

PACKAGE BODY: APPS.AST_WRAPUP_ADM_PVT

Source


1 PACKAGE BODY AST_WRAPUP_ADM_PVT AS
2 /* $Header: astvwuab.pls 115.3 2002/02/06 11:21:40 pkm ship      $ */
3 
4 G_PKG_NAME	CONSTANT VARCHAR2(30) := 'AST_WRAPUP_ADM_PVT';
5 G_FILE_NAME CONSTANT VARCHAR2(12) :='astvwuab.pls';
6 G_APPL_ID NUMBER := FND_GLOBAL.Prog_Appl_Id;
7 G_LOGIN_ID NUMBER := FND_GLOBAL.Conc_Login_Id;
8 G_PROGRAM_ID NUMBER := FND_GLOBAL.Conc_Program_Id;
9 G_USER_ID NUMBER := FND_GLOBAL.User_Id;
10 G_REQUEST_ID NUMBER := FND_GLOBAL.Conc_Request_Id;
11 
12 PROCEDURE INSERT_OUTCOME(
13 	P_API_VERSION			        IN  NUMBER,
14 	P_INIT_MSG_LIST			        IN  VARCHAR2 := FND_API.G_FALSE,
15 	P_COMMIT				        IN  VARCHAR2 := FND_API.G_FALSE,
16 	P_VALIDATION_LEVEL		        IN  NUMBER := FND_API.G_VALID_LEVEL_FULL,
17 	X_RETURN_STATUS			        OUT VARCHAR2,
18 	X_MSG_COUNT				        OUT NUMBER,
19 	X_MSG_DATA				        OUT VARCHAR2,
20     P_RESULT_REQUIRED               IN  VARCHAR2,
21     P_VERSATILITY_CODE              IN  NUMBER,
22     P_GENERATE_PUBLIC_CALLBACK      IN  VARCHAR2,
23     P_GENERATE_PRIVATE_CALLBACK     IN  VARCHAR2,
24     P_SCORE                         IN  NUMBER,
25     P_POSITIVE_OUTCOME_FLAG         IN  VARCHAR2,
26     P_LANGUAGE                      IN  VARCHAR2,
27     P_LONG_DESCRIPTION              IN  VARCHAR2,
28     P_SHORT_DESCRIPTION             IN  VARCHAR2,
29     P_OUTCOME_CODE                  IN  VARCHAR2,
30     P_MEDIA_TYPE                    IN  VARCHAR2,
31     X_OUTCOME_ID                    OUT NUMBER
32 )
33 AS
34 	l_api_name	CONSTANT VARCHAR2(30) := 'INSERT_OUTCOME';
35 	l_api_version	CONSTANT NUMBER := 1.0;
36     l_return_status VARCHAR2(1);
37     l_msg_count NUMBER;
38     l_msg_data VARCHAR2(32767);
39 
40     l_dummy			VARCHAR2(1);
41     l_outcome_id    NUMBER;
42 
43     -- Cursor for getting new outcome ID from the sequence
44     CURSOR l_outcome_id_csr IS
45     SELECT JTF_IH_OUTCOMES_S1.NEXTVAL
46     FROM DUAL;
47 
48     -- Cursor for retrieving from the table to verify insertion
49     CURSOR l_insert_b_check_csr IS
50     SELECT 'x'
51     FROM JTF_IH_OUTCOMES_B
52     WHERE OUTCOME_ID = l_outcome_id;
53 
54     -- Cursor for retrieving from the table to verify insertion
55     CURSOR l_insert_tl_check_csr IS
56     SELECT 'x'
57     FROM JTF_IH_OUTCOMES_TL
58     WHERE OUTCOME_ID = l_outcome_id;
59 
60 BEGIN
61 	-- Standard start of API savepoint
62 	SAVEPOINT	INSERT_OUTCOME_PVT;
63 
64 	-- Standard call to check for call compatibility
65 	IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
66 		RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
67 	END IF;
68 
69 	-- Initialize message list if p_init_msg_list is set to TRUE
70 	IF FND_API.To_Boolean(p_init_msg_list) THEN
71 		FND_MSG_PUB.initialize;
72 	END IF;
73 
74 	-- Initialize API return status to success
75 	x_return_status := FND_API.G_RET_STS_SUCCESS;
76 
77 	-- API body
78 
79     -- get new outcome id
80     OPEN l_outcome_id_csr;
81     FETCH l_outcome_id_csr INTO l_outcome_id;
82     CLOSE l_outcome_id_csr;
83 
84     -- insert new outcome into JTF_IH_OUTCOMES_TL
85     INSERT INTO JTF_IH_OUTCOMES_TL
86     (
87         OUTCOME_ID,
88         LANGUAGE,
89         OBJECT_VERSION_NUMBER,
90         CREATED_BY,
91         CREATION_DATE,
92         LAST_UPDATED_BY,
93         LAST_UPDATE_DATE,
94         LAST_UPDATE_LOGIN,
95         SOURCE_LANG,
96         LONG_DESCRIPTION,
97         SHORT_DESCRIPTION,
98         OUTCOME_CODE,
99         MEDIA_TYPE
100     )
101     VALUES
102     (
103         L_OUTCOME_ID,
104         P_LANGUAGE,
105         L_API_VERSION,
106         G_USER_ID,
107         SYSDATE,
108         G_USER_ID,
109         SYSDATE,
110         G_LOGIN_ID,
111         P_LANGUAGE,
112         P_LONG_DESCRIPTION,
113         P_SHORT_DESCRIPTION,
114         P_OUTCOME_CODE,
115         P_MEDIA_TYPE
116     );
117 
118     -- Retrieve from the table to verify insertion
119     OPEN l_insert_tl_check_csr;
120     FETCH l_insert_tl_check_csr INTO l_dummy;
121     IF (l_insert_tl_check_csr%notfound) THEN
122       CLOSE l_insert_tl_check_csr;
123       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
124     END IF;
125     CLOSE l_insert_tl_check_csr;
126 
127     -- insert new outcome into JTF_IH_OUTCOMES_B
128     INSERT INTO JTF_IH_OUTCOMES_B
129     (
130         OUTCOME_ID,
131         OBJECT_VERSION_NUMBER,
132         CREATED_BY,
133         CREATION_DATE,
134         LAST_UPDATED_BY,
135         LAST_UPDATE_DATE,
136         LAST_UPDATE_LOGIN,
137         RESULT_REQUIRED,
138         VERSATILITY_CODE,
139         GENERATE_PUBLIC_CALLBACK,
140         GENERATE_PRIVATE_CALLBACK,
141         SCORE,
142         POSITIVE_OUTCOME_FLAG
143     )
144     VALUES
145     (
146         L_OUTCOME_ID,
147         L_API_VERSION,
148         G_USER_ID,
149         SYSDATE,
150         G_USER_ID,
151         SYSDATE,
152         G_LOGIN_ID,
153         P_RESULT_REQUIRED,
154         P_VERSATILITY_CODE,
155         P_GENERATE_PUBLIC_CALLBACK,
156         P_GENERATE_PRIVATE_CALLBACK,
157         P_SCORE,
158         P_POSITIVE_OUTCOME_FLAG
159     );
160 
161     -- Retrieve from the table to verify insertion
162     OPEN l_insert_b_check_csr;
163     FETCH l_insert_b_check_csr INTO l_dummy;
164     IF (l_insert_b_check_csr%notfound) THEN
165       CLOSE l_insert_b_check_csr;
166       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
167     END IF;
168     CLOSE l_insert_b_check_csr;
169 
170     X_OUTCOME_ID := L_OUTCOME_ID;
171 	-- End of API body
172 
173 	-- Standard check of p_commit
174 	IF FND_API.To_Boolean(p_commit) THEN
175 		COMMIT WORK;
176 	END IF;
177 
178 	-- Standard call to get message count and if count is 1, get message info
179 	FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
180 
181 EXCEPTION
182 	WHEN FND_API.G_EXC_ERROR THEN
183 		ROLLBACK TO INSERT_OUTCOME_PVT;
184 		x_return_status := FND_API.G_RET_STS_ERROR;
185 		FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
186 
187 	WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
188 		ROLLBACK TO INSERT_OUTCOME_PVT;
189 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
190 		FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
191 
192 	WHEN OTHERS THEN
193 		ROLLBACK TO INSERT_OUTCOME_PVT;
194 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
195 		IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
196 			FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
197 		END IF;
198 		FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
199 
200 END INSERT_OUTCOME;
201 
202 PROCEDURE UPDATE_OUTCOME(
203 	P_API_VERSION			        IN  NUMBER,
204 	P_INIT_MSG_LIST			        IN  VARCHAR2 := FND_API.G_FALSE,
205 	P_COMMIT				        IN  VARCHAR2 := FND_API.G_FALSE,
206 	P_VALIDATION_LEVEL		        IN  NUMBER := FND_API.G_VALID_LEVEL_FULL,
207 	X_RETURN_STATUS			        OUT VARCHAR2,
208 	X_MSG_COUNT				        OUT NUMBER,
209 	X_MSG_DATA				        OUT VARCHAR2,
210     P_OUTCOME_ID                    IN  NUMBER,
211     P_RESULT_REQUIRED               IN  VARCHAR2,
212     P_VERSATILITY_CODE              IN  NUMBER,
213     P_GENERATE_PUBLIC_CALLBACK      IN  VARCHAR2,
214     P_GENERATE_PRIVATE_CALLBACK     IN  VARCHAR2,
215     P_SCORE                         IN  NUMBER,
216     P_POSITIVE_OUTCOME_FLAG         IN  VARCHAR2,
217     P_LANGUAGE                      IN  VARCHAR2,
218     P_LONG_DESCRIPTION              IN  VARCHAR2,
219     P_SHORT_DESCRIPTION             IN  VARCHAR2,
220     P_OUTCOME_CODE                  IN  VARCHAR2,
221     P_MEDIA_TYPE                    IN  VARCHAR2
222 )
223 AS
224 	l_api_name	CONSTANT VARCHAR2(30) := 'UPDATE_OUTCOME';
225 	l_api_version	CONSTANT NUMBER := 1.0;
226     l_return_status VARCHAR2(1);
227     l_msg_count NUMBER;
228     l_msg_data VARCHAR2(32767);
229 
230 BEGIN
231 	-- Standard start of API savepoint
232 	SAVEPOINT	UPDATE_OUTCOME_PVT;
233 
234 	-- Standard call to check for call compatibility
235 	IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
236 		RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
237 	END IF;
238 
239 	-- Initialize message list if p_init_msg_list is set to TRUE
240 	IF FND_API.To_Boolean(p_init_msg_list) THEN
241 		FND_MSG_PUB.initialize;
242 	END IF;
243 
244 	-- Initialize API return status to success
245 	x_return_status := FND_API.G_RET_STS_SUCCESS;
246 
247 	-- API body
248 
249     -- update outcome in JTF_IH_OUTCOMES_TL
250     UPDATE JTF_IH_OUTCOMES_TL
251     SET
252         LANGUAGE = P_LANGUAGE,
253         LAST_UPDATED_BY = G_USER_ID,
254         LAST_UPDATE_DATE = SYSDATE,
255         LAST_UPDATE_LOGIN = G_LOGIN_ID,
256         SOURCE_LANG = P_LANGUAGE,
257         LONG_DESCRIPTION = P_LONG_DESCRIPTION,
258         SHORT_DESCRIPTION = P_SHORT_DESCRIPTION,
259         OUTCOME_CODE = P_OUTCOME_CODE,
260         MEDIA_TYPE = P_MEDIA_TYPE
261     WHERE
262         OUTCOME_ID = P_OUTCOME_ID AND
263         LANGUAGE = P_LANGUAGE;
264 
265     -- insert outcome in JTF_IH_OUTCOMES_B
266     UPDATE JTF_IH_OUTCOMES_B
267     SET
268         LAST_UPDATED_BY = G_USER_ID,
269         LAST_UPDATE_DATE = SYSDATE,
270         LAST_UPDATE_LOGIN = G_LOGIN_ID,
271         RESULT_REQUIRED = P_RESULT_REQUIRED,
272         VERSATILITY_CODE = P_VERSATILITY_CODE,
273         GENERATE_PUBLIC_CALLBACK = P_GENERATE_PUBLIC_CALLBACK,
274         GENERATE_PRIVATE_CALLBACK = P_GENERATE_PRIVATE_CALLBACK,
275         SCORE = P_SCORE,
276         POSITIVE_OUTCOME_FLAG = P_POSITIVE_OUTCOME_FLAG
277     WHERE
278         OUTCOME_ID = P_OUTCOME_ID;
279 
280 	-- End of API body
281 
282 	-- Standard check of p_commit
283 	IF FND_API.To_Boolean(p_commit) THEN
284 		COMMIT WORK;
285 	END IF;
286 
287 	-- Standard call to get message count and if count is 1, get message info
288 	FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
289 
290 EXCEPTION
291 	WHEN FND_API.G_EXC_ERROR THEN
292 		ROLLBACK TO UPDATE_OUTCOME_PVT;
293 		x_return_status := FND_API.G_RET_STS_ERROR;
294 		FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
295 
296 	WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
297 		ROLLBACK TO UPDATE_OUTCOME_PVT;
298 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
299 		FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
300 
301 	WHEN OTHERS THEN
302 		ROLLBACK TO UPDATE_OUTCOME_PVT;
303 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
304 		IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
305 			FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
306 		END IF;
307 		FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
308 
309 END UPDATE_OUTCOME;
310 
311 PROCEDURE INSERT_RESULT(
312 	P_API_VERSION			        IN  NUMBER,
313 	P_INIT_MSG_LIST			        IN  VARCHAR2 := FND_API.G_FALSE,
314 	P_COMMIT				        IN  VARCHAR2 := FND_API.G_FALSE,
315 	P_VALIDATION_LEVEL		        IN  NUMBER := FND_API.G_VALID_LEVEL_FULL,
316 	X_RETURN_STATUS			        OUT VARCHAR2,
317 	X_MSG_COUNT				        OUT NUMBER,
318 	X_MSG_DATA				        OUT VARCHAR2,
319     P_REASON_REQUIRED               IN  VARCHAR2,
320     P_VERSATILITY_CODE              IN  NUMBER,
321     P_GENERATE_PUBLIC_CALLBACK      IN  VARCHAR2,
322     P_GENERATE_PRIVATE_CALLBACK     IN  VARCHAR2,
323     P_POSITIVE_RESULT_FLAG         IN  VARCHAR2,
324     P_LANGUAGE                      IN  VARCHAR2,
325     P_LONG_DESCRIPTION              IN  VARCHAR2,
326     P_SHORT_DESCRIPTION             IN  VARCHAR2,
327     P_RESULT_CODE                   IN  VARCHAR2,
328     P_MEDIA_TYPE                    IN  VARCHAR2,
329     X_RESULT_ID                     OUT NUMBER
330 )
331 AS
332 	l_api_name	CONSTANT VARCHAR2(30) := 'INSERT_RESULT';
333 	l_api_version	CONSTANT NUMBER := 1.0;
334     l_return_status VARCHAR2(1);
335     l_msg_count NUMBER;
336     l_msg_data VARCHAR2(32767);
337 
338     l_dummy			VARCHAR2(1);
339     l_RESULT_id    NUMBER;
340 
341     -- Cursor for getting new RESULT ID from the sequence
342     CURSOR l_RESULT_id_csr IS
343     SELECT JTF_IH_RESULTS_S1.NEXTVAL
344     FROM DUAL;
345 
346     -- Cursor for retrieving from the table to verify insertion
347     CURSOR l_insert_b_check_csr IS
348     SELECT 'x'
349     FROM JTF_IH_RESULTS_B
350     WHERE RESULT_ID = l_RESULT_id;
351 
352     -- Cursor for retrieving from the table to verify insertion
353     CURSOR l_insert_tl_check_csr IS
354     SELECT 'x'
355     FROM JTF_IH_RESULTS_TL
356     WHERE RESULT_ID = l_RESULT_id;
357 
358 BEGIN
359 	-- Standard start of API savepoint
360 	SAVEPOINT	INSERT_RESULT_PVT;
361 
362 	-- Standard call to check for call compatibility
363 	IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
364 		RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
365 	END IF;
366 
367 	-- Initialize message list if p_init_msg_list is set to TRUE
368 	IF FND_API.To_Boolean(p_init_msg_list) THEN
369 		FND_MSG_PUB.initialize;
370 	END IF;
371 
372 	-- Initialize API return status to success
373 	x_return_status := FND_API.G_RET_STS_SUCCESS;
374 
375 	-- API body
376 
377     -- get new RESULT id
378     OPEN l_RESULT_id_csr;
379     FETCH l_RESULT_id_csr INTO l_RESULT_id;
380     CLOSE l_RESULT_id_csr;
381 
382     -- insert new RESULT into JTF_IH_RESULTS_TL
383     INSERT INTO JTF_IH_RESULTS_TL
384     (
385         RESULT_ID,
386         LANGUAGE,
387         OBJECT_VERSION_NUMBER,
388         CREATED_BY,
389         CREATION_DATE,
390         LAST_UPDATED_BY,
391         LAST_UPDATE_DATE,
392         LAST_UPDATE_LOGIN,
393         SOURCE_LANG,
394         LONG_DESCRIPTION,
395         SHORT_DESCRIPTION,
396         RESULT_CODE,
397         MEDIA_TYPE
398     )
399     VALUES
400     (
401         L_RESULT_ID,
402         P_LANGUAGE,
403         L_API_VERSION,
404         G_USER_ID,
405         SYSDATE,
406         G_USER_ID,
407         SYSDATE,
408         G_LOGIN_ID,
409         P_LANGUAGE,
410         P_LONG_DESCRIPTION,
411         P_SHORT_DESCRIPTION,
412         P_RESULT_CODE,
413         P_MEDIA_TYPE
414     );
415 
416     -- Retrieve from the table to verify insertion
417     OPEN l_insert_tl_check_csr;
418     FETCH l_insert_tl_check_csr INTO l_dummy;
419     IF (l_insert_tl_check_csr%notfound) THEN
420       CLOSE l_insert_tl_check_csr;
421       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
422     END IF;
423     CLOSE l_insert_tl_check_csr;
424 
425     -- insert new RESULT into JTF_IH_RESULTS_B
426     INSERT INTO JTF_IH_RESULTS_B
427     (
428         RESULT_ID,
429         OBJECT_VERSION_NUMBER,
430         CREATED_BY,
431         CREATION_DATE,
432         LAST_UPDATED_BY,
433         LAST_UPDATE_DATE,
434         LAST_UPDATE_LOGIN,
435         RESULT_REQUIRED,
436         VERSATILITY_CODE,
437         GENERATE_PUBLIC_CALLBACK,
438         GENERATE_PRIVATE_CALLBACK,
439         POSITIVE_RESPONSE_FLAG
440     )
441     VALUES
442     (
443         L_RESULT_ID,
447         G_USER_ID,
444         L_API_VERSION,
445         G_USER_ID,
446         SYSDATE,
448         SYSDATE,
449         G_LOGIN_ID,
450         P_REASON_REQUIRED,
451         P_VERSATILITY_CODE,
452         P_GENERATE_PUBLIC_CALLBACK,
453         P_GENERATE_PRIVATE_CALLBACK,
454         P_POSITIVE_RESULT_FLAG
455     );
456 
457     -- Retrieve from the table to verify insertion
458     OPEN l_insert_b_check_csr;
459     FETCH l_insert_b_check_csr INTO l_dummy;
460     IF (l_insert_b_check_csr%notfound) THEN
461       CLOSE l_insert_b_check_csr;
462       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
463     END IF;
464     CLOSE l_insert_b_check_csr;
465 
466     X_RESULT_ID := L_RESULT_ID;
467 	-- End of API body
468 
469 	-- Standard check of p_commit
470 	IF FND_API.To_Boolean(p_commit) THEN
471 		COMMIT WORK;
472 	END IF;
473 
474 	-- Standard call to get message count and if count is 1, get message info
475 	FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
476 
477 EXCEPTION
478 	WHEN FND_API.G_EXC_ERROR THEN
479 		ROLLBACK TO INSERT_RESULT_PVT;
480 		x_return_status := FND_API.G_RET_STS_ERROR;
481 		FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
482 
483 	WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
484 		ROLLBACK TO INSERT_RESULT_PVT;
485 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
486 		FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
487 
488 	WHEN OTHERS THEN
489 		ROLLBACK TO INSERT_RESULT_PVT;
490 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
491 		IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
492 			FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
493 		END IF;
494 		FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
495 
496 END INSERT_RESULT;
497 
498 PROCEDURE UPDATE_RESULT(
499 	P_API_VERSION			        IN  NUMBER,
500 	P_INIT_MSG_LIST			        IN  VARCHAR2 := FND_API.G_FALSE,
501 	P_COMMIT				        IN  VARCHAR2 := FND_API.G_FALSE,
502 	P_VALIDATION_LEVEL		        IN  NUMBER := FND_API.G_VALID_LEVEL_FULL,
503 	X_RETURN_STATUS			        OUT VARCHAR2,
504 	X_MSG_COUNT				        OUT NUMBER,
505 	X_MSG_DATA				        OUT VARCHAR2,
506     P_RESULT_ID                    IN  NUMBER,
507     P_REASON_REQUIRED               IN  VARCHAR2,
508     P_VERSATILITY_CODE              IN  NUMBER,
509     P_GENERATE_PUBLIC_CALLBACK      IN  VARCHAR2,
510     P_GENERATE_PRIVATE_CALLBACK     IN  VARCHAR2,
511     P_POSITIVE_RESULT_FLAG         IN  VARCHAR2,
512     P_LANGUAGE                      IN  VARCHAR2,
513     P_LONG_DESCRIPTION              IN  VARCHAR2,
514     P_SHORT_DESCRIPTION             IN  VARCHAR2,
515     P_RESULT_CODE                  IN  VARCHAR2,
516     P_MEDIA_TYPE                    IN  VARCHAR2
517 )
518 AS
519 	l_api_name	CONSTANT VARCHAR2(30) := 'UPDATE_RESULT';
520 	l_api_version	CONSTANT NUMBER := 1.0;
521     l_return_status VARCHAR2(1);
522     l_msg_count NUMBER;
523     l_msg_data VARCHAR2(32767);
524 
525 BEGIN
526 	-- Standard start of API savepoint
527 	SAVEPOINT	UPDATE_RESULT_PVT;
528 
529 	-- Standard call to check for call compatibility
530 	IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
531 		RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
532 	END IF;
533 
534 	-- Initialize message list if p_init_msg_list is set to TRUE
535 	IF FND_API.To_Boolean(p_init_msg_list) THEN
536 		FND_MSG_PUB.initialize;
537 	END IF;
538 
539 	-- Initialize API return status to success
540 	x_return_status := FND_API.G_RET_STS_SUCCESS;
541 
542 	-- API body
543 
544     -- update outcome in JTF_IH_RESULTS_TL
545     UPDATE JTF_IH_RESULTS_TL
546     SET
547         LANGUAGE = P_LANGUAGE,
548         LAST_UPDATED_BY = G_USER_ID,
549         LAST_UPDATE_DATE = SYSDATE,
550         LAST_UPDATE_LOGIN = G_LOGIN_ID,
551         SOURCE_LANG = P_LANGUAGE,
552         LONG_DESCRIPTION = P_LONG_DESCRIPTION,
553         SHORT_DESCRIPTION = P_SHORT_DESCRIPTION,
554         RESULT_CODE = P_RESULT_CODE,
555         MEDIA_TYPE = P_MEDIA_TYPE
556     WHERE
557         RESULT_ID = P_RESULT_ID AND
558         LANGUAGE = P_LANGUAGE;
559 
560     -- insert RESULT in JTF_IH_RESULTS_B
561     UPDATE JTF_IH_RESULTS_B
562     SET
563         LAST_UPDATED_BY = G_USER_ID,
564         LAST_UPDATE_DATE = SYSDATE,
565         LAST_UPDATE_LOGIN = G_LOGIN_ID,
566         RESULT_REQUIRED = P_REASON_REQUIRED,
567         VERSATILITY_CODE = P_VERSATILITY_CODE,
568         GENERATE_PUBLIC_CALLBACK = P_GENERATE_PUBLIC_CALLBACK,
569         GENERATE_PRIVATE_CALLBACK = P_GENERATE_PRIVATE_CALLBACK,
570         POSITIVE_RESPONSE_FLAG = P_POSITIVE_RESULT_FLAG
571     WHERE
572         RESULT_ID = P_RESULT_ID;
573 
574 	-- End of API body
575 
576 	-- Standard check of p_commit
577 	IF FND_API.To_Boolean(p_commit) THEN
578 		COMMIT WORK;
579 	END IF;
580 
581 	-- Standard call to get message count and if count is 1, get message info
582 	FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
583 
584 EXCEPTION
588 		FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
585 	WHEN FND_API.G_EXC_ERROR THEN
586 		ROLLBACK TO UPDATE_RESULT_PVT;
587 		x_return_status := FND_API.G_RET_STS_ERROR;
589 
590 	WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
591 		ROLLBACK TO UPDATE_RESULT_PVT;
592 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
593 		FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
594 
595 	WHEN OTHERS THEN
596 		ROLLBACK TO UPDATE_RESULT_PVT;
597 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
598 		IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
599 			FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
600 		END IF;
601 		FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
602 
603 END UPDATE_RESULT;
604 
605 PROCEDURE INSERT_REASON(
606 	P_API_VERSION			        IN  NUMBER,
607 	P_INIT_MSG_LIST			        IN  VARCHAR2 := FND_API.G_FALSE,
608 	P_COMMIT				        IN  VARCHAR2 := FND_API.G_FALSE,
609 	P_VALIDATION_LEVEL		        IN  NUMBER := FND_API.G_VALID_LEVEL_FULL,
610 	X_RETURN_STATUS			        OUT VARCHAR2,
611 	X_MSG_COUNT				        OUT NUMBER,
612 	X_MSG_DATA				        OUT VARCHAR2,
613     P_VERSATILITY_CODE              IN  NUMBER,
614     P_GENERATE_PUBLIC_CALLBACK      IN  VARCHAR2,
615     P_GENERATE_PRIVATE_CALLBACK     IN  VARCHAR2,
616     P_LANGUAGE                      IN  VARCHAR2,
617     P_LONG_DESCRIPTION              IN  VARCHAR2,
618     P_SHORT_DESCRIPTION             IN  VARCHAR2,
619     P_REASON_CODE                   IN  VARCHAR2,
620     P_MEDIA_TYPE                    IN  VARCHAR2,
621     X_REASON_ID                     OUT NUMBER
622 )
623 AS
624 	l_api_name	CONSTANT VARCHAR2(30) := 'INSERT_REASON';
625 	l_api_version	CONSTANT NUMBER := 1.0;
626     l_return_status VARCHAR2(1);
627     l_msg_count NUMBER;
628     l_msg_data VARCHAR2(32767);
629 
630     l_dummy			VARCHAR2(1);
631     l_REASON_id    NUMBER;
632 
633     -- Cursor for getting new REASON ID from the sequence
634     CURSOR l_REASON_id_csr IS
635     SELECT JTF_IH_REASONS_S1.NEXTVAL
636     FROM DUAL;
637 
638     -- Cursor for retrieving from the table to verify insertion
639     CURSOR l_insert_b_check_csr IS
640     SELECT 'x'
641     FROM JTF_IH_REASONS_B
642     WHERE REASON_ID = l_REASON_id;
643 
644     -- Cursor for retrieving from the table to verify insertion
645     CURSOR l_insert_tl_check_csr IS
646     SELECT 'x'
647     FROM JTF_IH_REASONS_TL
648     WHERE REASON_ID = l_REASON_id;
649 
650 BEGIN
651 	-- Standard start of API savepoint
652 	SAVEPOINT	INSERT_REASON_PVT;
653 
654 	-- Standard call to check for call compatibility
655 	IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
656 		RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
657 	END IF;
658 
659 	-- Initialize message list if p_init_msg_list is set to TRUE
660 	IF FND_API.To_Boolean(p_init_msg_list) THEN
661 		FND_MSG_PUB.initialize;
662 	END IF;
663 
664 	-- Initialize API return status to success
665 	x_return_status := FND_API.G_RET_STS_SUCCESS;
666 
667 	-- API body
668 
669     -- get new REASON id
670     OPEN l_REASON_id_csr;
671     FETCH l_REASON_id_csr INTO l_REASON_id;
672     CLOSE l_REASON_id_csr;
673 
674     -- insert new REASON into JTF_IH_REASONS_TL
675     INSERT INTO JTF_IH_REASONS_TL
676     (
677         REASON_ID,
678         LANGUAGE,
679         OBJECT_VERSION_NUMBER,
680         CREATED_BY,
681         CREATION_DATE,
682         LAST_UPDATED_BY,
683         LAST_UPDATE_DATE,
684         LAST_UPDATE_LOGIN,
685         SOURCE_LANG,
686         LONG_DESCRIPTION,
687         SHORT_DESCRIPTION,
688         REASON_CODE,
689         MEDIA_TYPE
690     )
691     VALUES
692     (
693         L_REASON_ID,
694         P_LANGUAGE,
695         L_API_VERSION,
696         G_USER_ID,
697         SYSDATE,
698         G_USER_ID,
699         SYSDATE,
700         G_LOGIN_ID,
701         P_LANGUAGE,
702         P_LONG_DESCRIPTION,
703         P_SHORT_DESCRIPTION,
704         P_REASON_CODE,
705         P_MEDIA_TYPE
706     );
707 
708     -- Retrieve from the table to verify insertion
709     OPEN l_insert_tl_check_csr;
710     FETCH l_insert_tl_check_csr INTO l_dummy;
711     IF (l_insert_tl_check_csr%notfound) THEN
712       CLOSE l_insert_tl_check_csr;
713       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
714     END IF;
715     CLOSE l_insert_tl_check_csr;
716 
717     -- insert new REASON into JTF_IH_REASONS_B
718     INSERT INTO JTF_IH_REASONS_B
719     (
720         REASON_ID,
721         OBJECT_VERSION_NUMBER,
722         CREATED_BY,
723         CREATION_DATE,
724         LAST_UPDATED_BY,
725         LAST_UPDATE_DATE,
726         LAST_UPDATE_LOGIN,
727         VERSATILITY_CODE,
728         GENERATE_PUBLIC_CALLBACK,
729         GENERATE_PRIVATE_CALLBACK
730     )
731     VALUES
732     (
733         L_REASON_ID,
734         L_API_VERSION,
735         G_USER_ID,
736         SYSDATE,
740         P_VERSATILITY_CODE,
737         G_USER_ID,
738         SYSDATE,
739         G_LOGIN_ID,
741         P_GENERATE_PUBLIC_CALLBACK,
742         P_GENERATE_PRIVATE_CALLBACK
743     );
744 
745     -- Retrieve from the table to verify insertion
746     OPEN l_insert_b_check_csr;
747     FETCH l_insert_b_check_csr INTO l_dummy;
748     IF (l_insert_b_check_csr%notfound) THEN
749       CLOSE l_insert_b_check_csr;
750       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
751     END IF;
752     CLOSE l_insert_b_check_csr;
753 
754     X_REASON_ID := L_REASON_ID;
755 	-- End of API body
756 
757 	-- Standard check of p_commit
758 	IF FND_API.To_Boolean(p_commit) THEN
759 		COMMIT WORK;
760 	END IF;
761 
762 	-- Standard call to get message count and if count is 1, get message info
763 	FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
764 
765 EXCEPTION
766 	WHEN FND_API.G_EXC_ERROR THEN
767 		ROLLBACK TO INSERT_REASON_PVT;
768 		x_return_status := FND_API.G_RET_STS_ERROR;
769 		FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
770 
771 	WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
772 		ROLLBACK TO INSERT_REASON_PVT;
773 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
774 		FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
775 
776 	WHEN OTHERS THEN
777 		ROLLBACK TO INSERT_REASON_PVT;
778 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
779 		IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
780 			FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
781 		END IF;
782 		FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
783 
784 END INSERT_REASON;
785 
786 PROCEDURE UPDATE_REASON(
787 	P_API_VERSION			        IN  NUMBER,
788 	P_INIT_MSG_LIST			        IN  VARCHAR2 := FND_API.G_FALSE,
789 	P_COMMIT				        IN  VARCHAR2 := FND_API.G_FALSE,
790 	P_VALIDATION_LEVEL		        IN  NUMBER := FND_API.G_VALID_LEVEL_FULL,
791 	X_RETURN_STATUS			        OUT VARCHAR2,
792 	X_MSG_COUNT				        OUT NUMBER,
793 	X_MSG_DATA				        OUT VARCHAR2,
794     P_REASON_ID                    IN  NUMBER,
795     P_VERSATILITY_CODE              IN  NUMBER,
796     P_GENERATE_PUBLIC_CALLBACK      IN  VARCHAR2,
797     P_GENERATE_PRIVATE_CALLBACK     IN  VARCHAR2,
798     P_LANGUAGE                      IN  VARCHAR2,
799     P_LONG_DESCRIPTION              IN  VARCHAR2,
800     P_SHORT_DESCRIPTION             IN  VARCHAR2,
801     P_REASON_CODE                  IN  VARCHAR2,
802     P_MEDIA_TYPE                    IN  VARCHAR2
803 )
804 AS
805 	l_api_name	CONSTANT VARCHAR2(30) := 'UPDATE_REASON';
806 	l_api_version	CONSTANT NUMBER := 1.0;
807     l_return_status VARCHAR2(1);
808     l_msg_count NUMBER;
809     l_msg_data VARCHAR2(32767);
810 
811 BEGIN
812 	-- Standard start of API savepoint
813 	SAVEPOINT	UPDATE_REASON_PVT;
814 
815 	-- Standard call to check for call compatibility
816 	IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
817 		RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
818 	END IF;
819 
820 	-- Initialize message list if p_init_msg_list is set to TRUE
821 	IF FND_API.To_Boolean(p_init_msg_list) THEN
822 		FND_MSG_PUB.initialize;
823 	END IF;
824 
825 	-- Initialize API return status to success
826 	x_return_status := FND_API.G_RET_STS_SUCCESS;
827 
828 	-- API body
829 
830     -- update outcome in JTF_IH_REASONS_TL
831     UPDATE JTF_IH_REASONS_TL
832     SET
833         LANGUAGE = P_LANGUAGE,
834         LAST_UPDATED_BY = G_USER_ID,
835         LAST_UPDATE_DATE = SYSDATE,
836         LAST_UPDATE_LOGIN = G_LOGIN_ID,
837         SOURCE_LANG = P_LANGUAGE,
838         LONG_DESCRIPTION = P_LONG_DESCRIPTION,
839         SHORT_DESCRIPTION = P_SHORT_DESCRIPTION,
840         REASON_CODE = P_REASON_CODE,
841         MEDIA_TYPE = P_MEDIA_TYPE
842     WHERE
843         REASON_ID = P_REASON_ID AND
844         LANGUAGE = P_LANGUAGE;
845 
846     -- insert REASON in JTF_IH_REASONS_B
847     UPDATE JTF_IH_REASONS_B
848     SET
849         LAST_UPDATED_BY = G_USER_ID,
850         LAST_UPDATE_DATE = SYSDATE,
851         LAST_UPDATE_LOGIN = G_LOGIN_ID,
852         VERSATILITY_CODE = P_VERSATILITY_CODE,
853         GENERATE_PUBLIC_CALLBACK = P_GENERATE_PUBLIC_CALLBACK,
854         GENERATE_PRIVATE_CALLBACK = P_GENERATE_PRIVATE_CALLBACK
855     WHERE
856         REASON_ID = P_REASON_ID;
857 
858 	-- End of API body
859 
860 	-- Standard check of p_commit
861 	IF FND_API.To_Boolean(p_commit) THEN
862 		COMMIT WORK;
863 	END IF;
864 
865 	-- Standard call to get message count and if count is 1, get message info
866 	FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
867 
868 EXCEPTION
869 	WHEN FND_API.G_EXC_ERROR THEN
870 		ROLLBACK TO UPDATE_REASON_PVT;
871 		x_return_status := FND_API.G_RET_STS_ERROR;
872 		FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
873 
874 	WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
875 		ROLLBACK TO UPDATE_REASON_PVT;
876 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
880 		ROLLBACK TO UPDATE_REASON_PVT;
877 		FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
878 
879 	WHEN OTHERS THEN
881 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
882 		IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
883 			FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
884 		END IF;
885 		FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
886 
887 END UPDATE_REASON;
888 
889 PROCEDURE ALTER_OUTCOME_RESULT_LINK(
890 	P_API_VERSION			        IN  NUMBER,
891 	P_INIT_MSG_LIST			        IN  VARCHAR2 := FND_API.G_FALSE,
892 	P_COMMIT				        IN  VARCHAR2 := FND_API.G_FALSE,
893 	P_VALIDATION_LEVEL		        IN  NUMBER := FND_API.G_VALID_LEVEL_FULL,
894 	X_RETURN_STATUS			        OUT VARCHAR2,
895 	X_MSG_COUNT				        OUT NUMBER,
896 	X_MSG_DATA				        OUT VARCHAR2,
897     P_ACTION                        IN  VARCHAR2,
898     P_OUTCOME_ID                    IN  NUMBER,
899     P_RESULT_ID                     IN  NUMBER
900 )
901 AS
902 	l_api_name	CONSTANT VARCHAR2(30) := 'ALTER_OUTCOME_RESULT_LINK';
903 	l_api_version	CONSTANT NUMBER := 1.0;
904     l_return_status VARCHAR2(1);
905     l_msg_count NUMBER;
906     l_msg_data VARCHAR2(32767);
907 
908 BEGIN
909 	-- Standard start of API savepoint
910 	SAVEPOINT	ALTER_OUTCOME_RESULT_LINK_PVT;
911 
912 	-- Standard call to check for call compatibility
913 	IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
914 		RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
915 	END IF;
916 
917 	-- Initialize message list if p_init_msg_list is set to TRUE
918 	IF FND_API.To_Boolean(p_init_msg_list) THEN
919 		FND_MSG_PUB.initialize;
920 	END IF;
921 
922 	-- Initialize API return status to success
923 	x_return_status := FND_API.G_RET_STS_SUCCESS;
924 
925 	-- API body
926 
927     -- delete existing association first
928     DELETE FROM JTF_IH_OUTCOME_RESULTS
929     WHERE OUTCOME_ID = P_OUTCOME_ID AND RESULT_ID = P_RESULT_ID;
930 
931     if P_ACTION = 'ADD' then
932         -- insert new association
933         INSERT INTO JTF_IH_OUTCOME_RESULTS
934         (
935             RESULT_ID,
936             OUTCOME_ID,
937             OBJECT_VERSION_NUMBER,
938             CREATED_BY,
939             CREATION_DATE,
940             LAST_UPDATED_BY,
941             LAST_UPDATE_DATE,
942             LAST_UPDATE_LOGIN
943         )
944         VALUES
945         (
946             P_RESULT_ID,
947             P_OUTCOME_ID,
948             L_API_VERSION,
949             G_USER_ID,
950             SYSDATE,
951             G_USER_ID,
952             SYSDATE,
953             G_LOGIN_ID
954         );
955     end if;
956 
957 	-- End of API body
958 
959 	-- Standard check of p_commit
960 	IF FND_API.To_Boolean(p_commit) THEN
961 		COMMIT WORK;
962 	END IF;
963 
964 	-- Standard call to get message count and if count is 1, get message info
965 	FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
966 
967 EXCEPTION
968 	WHEN FND_API.G_EXC_ERROR THEN
969 		ROLLBACK TO ALTER_OUTCOME_RESULT_LINK_PVT;
970 		x_return_status := FND_API.G_RET_STS_ERROR;
971 		FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
972 
973 	WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
974 		ROLLBACK TO ALTER_OUTCOME_RESULT_LINK_PVT;
975 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
976 		FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
977 
978 	WHEN OTHERS THEN
979 		ROLLBACK TO ALTER_OUTCOME_RESULT_LINK_PVT;
980 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
981 		IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
982 			FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
983 		END IF;
984 		FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
985 
986 END ALTER_OUTCOME_RESULT_LINK;
987 
988 PROCEDURE ALTER_RESULT_REASON_LINK(
989 	P_API_VERSION			        IN  NUMBER,
990 	P_INIT_MSG_LIST			        IN  VARCHAR2 := FND_API.G_FALSE,
991 	P_COMMIT				        IN  VARCHAR2 := FND_API.G_FALSE,
992 	P_VALIDATION_LEVEL		        IN  NUMBER := FND_API.G_VALID_LEVEL_FULL,
993 	X_RETURN_STATUS			        OUT VARCHAR2,
994 	X_MSG_COUNT				        OUT NUMBER,
995 	X_MSG_DATA				        OUT VARCHAR2,
996     P_ACTION                        IN  VARCHAR2,
997     P_RESULT_ID                     IN  NUMBER,
998     P_REASON_ID                     IN  NUMBER
999 )
1000 AS
1001 	l_api_name	CONSTANT VARCHAR2(30) := 'ALTER_RESULT_REASON_LINK';
1002 	l_api_version	CONSTANT NUMBER := 1.0;
1003     l_return_status VARCHAR2(1);
1004     l_msg_count NUMBER;
1005     l_msg_data VARCHAR2(32767);
1006 
1007 BEGIN
1008 	-- Standard start of API savepoint
1009 	SAVEPOINT	ALTER_RESULT_REASON_LINK_PVT;
1010 
1011 	-- Standard call to check for call compatibility
1012 	IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
1013 		RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1014 	END IF;
1015 
1016 	-- Initialize message list if p_init_msg_list is set to TRUE
1017 	IF FND_API.To_Boolean(p_init_msg_list) THEN
1018 		FND_MSG_PUB.initialize;
1019 	END IF;
1020 
1021 	-- Initialize API return status to success
1022 	x_return_status := FND_API.G_RET_STS_SUCCESS;
1023 
1024 	-- API body
1025 
1026     -- delete existing association first
1027     DELETE FROM JTF_IH_RESULT_REASONS
1028     WHERE RESULT_ID = P_RESULT_ID AND REASON_ID = P_REASON_ID;
1029 
1030     if P_ACTION = 'ADD' then
1031         -- insert new association
1032         INSERT INTO JTF_IH_RESULT_REASONS
1033         (
1034             RESULT_ID,
1035             REASON_ID,
1036             OBJECT_VERSION_NUMBER,
1037             CREATED_BY,
1038             CREATION_DATE,
1039             LAST_UPDATED_BY,
1040             LAST_UPDATE_DATE,
1041             LAST_UPDATE_LOGIN
1042         )
1043         VALUES
1044         (
1045             P_RESULT_ID,
1046             P_REASON_ID,
1047             L_API_VERSION,
1048             G_USER_ID,
1049             SYSDATE,
1050             G_USER_ID,
1051             SYSDATE,
1052             G_LOGIN_ID
1053         );
1054     end if;
1055 
1056 	-- End of API body
1057 
1058 	-- Standard check of p_commit
1059 	IF FND_API.To_Boolean(p_commit) THEN
1060 		COMMIT WORK;
1061 	END IF;
1062 
1063 	-- Standard call to get message count and if count is 1, get message info
1064 	FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1065 
1066 EXCEPTION
1067 	WHEN FND_API.G_EXC_ERROR THEN
1068 		ROLLBACK TO ALTER_RESULT_REASON_LINK_PVT;
1069 		x_return_status := FND_API.G_RET_STS_ERROR;
1070 		FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1071 
1072 	WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1073 		ROLLBACK TO ALTER_RESULT_REASON_LINK_PVT;
1074 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1075 		FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1076 
1077 	WHEN OTHERS THEN
1078 		ROLLBACK TO ALTER_RESULT_REASON_LINK_PVT;
1079 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1080 		IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1081 			FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
1082 		END IF;
1083 		FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1084 
1085 END ALTER_RESULT_REASON_LINK;
1086 
1087 END AST_WRAPUP_ADM_PVT;