1 PACKAGE BODY OKC_API AS
2 /* $Header: OKCPAPIB.pls 120.0 2005/05/30 04:12:53 appldev noship $ */
3 l_debug VARCHAR2(1) := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
4 --------------------------------------------------------------------------------
5 -- MESSAGE CONSTANTS
6 --------------------------------------------------------------------------------
7 G_MSG_LEVEL_THRESHOLD CONSTANT NUMBER := OKC_API.G_MISS_NUM;
8 --------------------------------------------------------------------------------
9 -- PROCEDURE init_msg_list
10 --------------------------------------------------------------------------------
11 PROCEDURE init_msg_list (
12 p_init_msg_list IN VARCHAR2
13 ) IS
14 BEGIN
15 IF (FND_API.to_boolean(p_init_msg_list)) THEN
16 FND_MSG_PUB.initialize;
17 END IF;
18 EXCEPTION
19 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
20 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
21 END init_msg_list;
22 --------------------------------------------------------------------------------
23 -- FUNCTION start_activity
24 --------------------------------------------------------------------------------
25 FUNCTION start_activity(
26 p_api_name IN VARCHAR2,
27 p_pkg_name IN VARCHAR2,
28 p_init_msg_list IN VARCHAR2,
29 l_api_version IN NUMBER,
30 p_api_version IN NUMBER,
31 p_api_type IN VARCHAR2,
32 x_return_status OUT NOCOPY VARCHAR2
33 ) RETURN VARCHAR2 IS
34 BEGIN
35 -- Standard START OF API SAVEPOINT
36
37 DBMS_TRANSACTION.SAVEPOINT(p_api_name || p_api_type);
38
39 IF NOT FND_API.compatible_API_Call( l_api_version,
40 p_api_version,
41 p_api_name,
42 p_pkg_name)
43 THEN
44 RETURN(OKC_API.G_RET_STS_UNEXP_ERROR);
45 END IF;
46
47 OKC_API.init_msg_list(p_init_msg_list);
48
49 x_return_status := OKC_API.G_RET_STS_SUCCESS;
50 RETURN(OKC_API.G_RET_STS_SUCCESS);
51 END start_activity;
52 FUNCTION start_activity(
53 p_api_name IN VARCHAR2,
54 p_init_msg_list IN VARCHAR2,
55 p_api_type IN VARCHAR2,
56 x_return_status OUT NOCOPY VARCHAR2
57 ) RETURN VARCHAR2 IS
58 BEGIN
59 -- Standard START OF API SAVEPOINT
60
61 DBMS_TRANSACTION.SAVEPOINT(p_api_name || p_api_type);
62 OKC_API.init_msg_list(p_init_msg_list);
63
64 x_return_status := OKC_API.G_RET_STS_SUCCESS;
65 RETURN(OKC_API.G_RET_STS_SUCCESS);
66 END start_activity;
67 --------------------------------------------------------------------------------
68 -- FUNCTION handle_exceptions
69 --------------------------------------------------------------------------------
70 FUNCTION handle_exceptions (
71 p_api_name IN VARCHAR2,
72 p_pkg_name IN VARCHAR2,
73 p_exc_name IN VARCHAR2,
74 x_msg_count OUT NOCOPY NUMBER,
75 x_msg_data OUT NOCOPY VARCHAR2,
76 p_api_type IN VARCHAR2
77 ) RETURN VARCHAR2 IS
78 l_return_value VARCHAR2(200) := OKC_API.G_RET_STS_UNEXP_ERROR;
79 BEGIN
80 DBMS_TRANSACTION.ROLLBACK_SAVEPOINT(p_api_name || p_api_type);
81 IF p_exc_name = 'OKC_API.G_RET_STS_ERROR' THEN
82 FND_MSG_PUB.Count_And_Get
83 (
84 p_count => x_msg_count,
85 p_data => x_msg_data
86 );
87 l_return_value := OKC_API.G_RET_STS_ERROR;
88 ELSIF p_exc_name = 'OKC_API.G_RET_STS_UNEXP_ERROR' THEN
89 FND_MSG_PUB.Count_And_Get
90 (
91 p_count => x_msg_count,
92 p_data => x_msg_data
93 );
94 ELSE -- WHEN OTHERS EXCEPTION
95 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
96 THEN
97 FND_MSG_PUB.Add_Exc_Msg
98 (
99 p_pkg_name,
100 p_api_name
101 );
102 END IF;
103 FND_MSG_PUB.Count_And_Get
104 (
105 p_count => x_msg_count,
106 p_data => x_msg_data
107 );
108 END IF;
109 RETURN(l_return_value);
110 END handle_exceptions;
111 --------------------------------------------------------------------------------
112 -- FUNCTION end_activity
113 --------------------------------------------------------------------------------
114 PROCEDURE end_activity (
115 x_msg_count OUT NOCOPY NUMBER,
116 x_msg_data OUT NOCOPY VARCHAR2
117 ) IS
118 BEGIN
119 --- Standard call to get message count and if count is 1, get message info
120 FND_MSG_PUB.Count_And_Get (
121 p_count => x_msg_count,
122 p_data => x_msg_data);
123 END end_activity;
124 --------------------------------------------------------------------------------
125 -- PROCEDURE set_message
126 --------------------------------------------------------------------------------
127 PROCEDURE set_message (
128 p_app_name IN VARCHAR2 ,
129 p_msg_name IN VARCHAR2,
130 p_token1 IN VARCHAR2 ,
131 p_token1_value IN VARCHAR2 ,
132 p_token2 IN VARCHAR2 ,
133 p_token2_value IN VARCHAR2 ,
134 p_token3 IN VARCHAR2 ,
135 p_token3_value IN VARCHAR2 ,
136 p_token4 IN VARCHAR2 ,
137 p_token4_value IN VARCHAR2 ,
138 p_token5 IN VARCHAR2 ,
139 p_token5_value IN VARCHAR2 ,
140 p_token6 IN VARCHAR2 ,
141 p_token6_value IN VARCHAR2 ,
142 p_token7 IN VARCHAR2 ,
143 p_token7_value IN VARCHAR2 ,
144 p_token8 IN VARCHAR2 ,
145 p_token8_value IN VARCHAR2 ,
146 p_token9 IN VARCHAR2 ,
147 p_token9_value IN VARCHAR2 ,
148 p_token10 IN VARCHAR2 ,
149 p_token10_value IN VARCHAR2
150 ) IS
151 BEGIN
152 FND_MESSAGE.SET_NAME( P_APP_NAME, P_MSG_NAME);
153 IF (p_token1 IS NOT NULL) AND (p_token1_value IS NOT NULL) THEN
154 FND_MESSAGE.SET_TOKEN( TOKEN => p_token1,
155 VALUE => p_token1_value);
156 END IF;
157 IF (p_token2 IS NOT NULL) AND (p_token2_value IS NOT NULL) THEN
158 FND_MESSAGE.SET_TOKEN( TOKEN => p_token2,
159 VALUE => p_token2_value);
160 END IF;
161 IF (p_token3 IS NOT NULL) AND (p_token3_value IS NOT NULL) THEN
162 FND_MESSAGE.SET_TOKEN( TOKEN => p_token3,
163 VALUE => p_token3_value);
164 END IF;
165 IF (p_token4 IS NOT NULL) AND (p_token4_value IS NOT NULL) THEN
166 FND_MESSAGE.SET_TOKEN( TOKEN => p_token4,
167 VALUE => p_token4_value);
168 END IF;
169 IF (p_token5 IS NOT NULL) AND (p_token5_value IS NOT NULL) THEN
170 FND_MESSAGE.SET_TOKEN( TOKEN => p_token5,
171 VALUE => p_token5_value);
172 END IF;
173 IF (p_token6 IS NOT NULL) AND (p_token6_value IS NOT NULL) THEN
174 FND_MESSAGE.SET_TOKEN( TOKEN => p_token6,
175 VALUE => p_token6_value);
176 END IF;
177 IF (p_token7 IS NOT NULL) AND (p_token7_value IS NOT NULL) THEN
178 FND_MESSAGE.SET_TOKEN( TOKEN => p_token7,
179 VALUE => p_token7_value);
180 END IF;
181 IF (p_token8 IS NOT NULL) AND (p_token8_value IS NOT NULL) THEN
182 FND_MESSAGE.SET_TOKEN( TOKEN => p_token8,
183 VALUE => p_token8_value);
184 END IF;
185 IF (p_token9 IS NOT NULL) AND (p_token9_value IS NOT NULL) THEN
186 FND_MESSAGE.SET_TOKEN( TOKEN => p_token9,
187 VALUE => p_token9_value);
188 END IF;
189 IF (p_token10 IS NOT NULL) AND (p_token10_value IS NOT NULL) THEN
190 FND_MESSAGE.SET_TOKEN( TOKEN => p_token10,
191 VALUE => p_token10_value);
192 END IF;
193 FND_MSG_PUB.add;
194 END set_message;
195
196
197 END OKC_API;