[Home] [Help]
PACKAGE BODY: APPS.PV_SELCRIT_PUB
Source
1 PACKAGE BODY PV_SELCRIT_PUB as
2 /* $Header: pvrpescb.pls 120.0 2005/05/27 15:24:55 appldev noship $ */
3 -- Start of Comments
4 -- Package name : PV_SELCRIT_PUB
5 -- Purpose :
6 -- History :
7 -- NOTE :
8 -- End of Comments
9
10
11 G_PKG_NAME CONSTANT VARCHAR2(30):= 'PV_SELCRIT_PUB';
12 G_FILE_NAME CONSTANT VARCHAR2(12) := 'pvrpescb.pls';
13
14 AS_DEBUG_HIGH_ON boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_HIGH);
15 AS_DEBUG_LOW_ON boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
16 AS_DEBUG_MEDIUM_ON boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_MEDIUM);
17
18 PROCEDURE Create_selcrit(
19 P_Api_Version_Number IN NUMBER,
20 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
21 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
22 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
23 P_Identity_Resource_Id IN NUMBER,
24 P_SELCRIT_Rec IN PV_RULE_RECTYPE_PUB.SELCRIT_Rec_Type := PV_RULE_RECTYPE_PUB.G_MISS_SELCRIT_REC,
25 X_SELECTION_CRITERIA_ID OUT NOCOPY NUMBER,
26 X_Return_Status OUT NOCOPY VARCHAR2,
27 X_Msg_Count OUT NOCOPY NUMBER,
28 X_Msg_Data OUT NOCOPY VARCHAR2
29 )
30
31 IS
32 l_api_name CONSTANT VARCHAR2(30) := 'Create_selcrit';
33 l_api_version_number CONSTANT NUMBER := 2.0;
34 BEGIN
35 -- Standard Start of API savepoint
36 SAVEPOINT CREATE_SELCRIT_PUB;
37
38 -- Standard call to check for call compatibility.
39 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
40 p_api_version_number,
41 l_api_name,
42 G_PKG_NAME)
43 THEN
44 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
45 END IF;
46
47
48 -- Initialize message list if p_init_msg_list is set to TRUE.
49 IF FND_API.to_Boolean( p_init_msg_list )
50 THEN
51 FND_MSG_PUB.initialize;
52 END IF;
53
54
55 -- Debug Message
56 IF (AS_DEBUG_HIGH_ON) THEN
57
58 AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Public API: ' || l_api_name || 'start');
59 END IF;
60
61 IF (AS_DEBUG_HIGH_ON) THEN
62
63
64
65 AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Start time:' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
66
67 END IF;
68
69 -- Initialize API return status to SUCCESS
70 x_return_status := FND_API.G_RET_STS_SUCCESS;
71
72 --
73 -- API body
74 --
75
76 -- Calling Private package: Create_SELCRIT
77 PV_selcrit_PVT.Create_selcrit(
78 P_Api_Version_Number => 2.0,
79 P_Init_Msg_List => FND_API.G_FALSE,
80 P_Commit => FND_API.G_FALSE,
81 P_Validation_Level => P_Validation_Level,
82 P_Identity_Resource_Id => P_Identity_Resource_Id,
83 P_SELCRIT_Rec => p_SELCRIT_Rec ,
84 X_SELECTION_CRITERIA_ID => x_SELECTION_CRITERIA_ID,
85 X_Return_Status => x_return_status,
86 X_Msg_Count => x_msg_count,
87 X_Msg_Data => x_msg_data);
88
89
90
91 -- Check return status from the above procedure call
92 IF x_return_status = FND_API.G_RET_STS_ERROR then
93 raise FND_API.G_EXC_ERROR;
94 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
95 raise FND_API.G_EXC_UNEXPECTED_ERROR;
96 END IF;
97
98 --
99 -- End of API body.
100 --
101
102 -- Standard check for p_commit
103 IF FND_API.to_Boolean( p_commit )
104 THEN
105 COMMIT WORK;
106 END IF;
107
108
109 -- Debug Message
110 IF (AS_DEBUG_HIGH_ON) THEN
111
112 AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Public API: ' || l_api_name || 'end');
113 END IF;
114
115 IF (AS_DEBUG_HIGH_ON) THEN
116
117
118
119 AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'End time:' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
120
121 END IF;
122
123 -- Standard call to get message count and if count is 1, get message info.
124 FND_MSG_PUB.Count_And_Get
125 ( p_count => x_msg_count,
126 p_data => x_msg_data
127 );
128
129 EXCEPTION
130 WHEN FND_API.G_EXC_ERROR THEN
131 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
132 P_API_NAME => L_API_NAME
133 ,P_PKG_NAME => G_PKG_NAME
134 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
135 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
136 ,X_MSG_COUNT => X_MSG_COUNT
137 ,X_MSG_DATA => X_MSG_DATA
138 ,X_RETURN_STATUS => X_RETURN_STATUS);
139
140 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
141 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
142 P_API_NAME => L_API_NAME
143 ,P_PKG_NAME => G_PKG_NAME
144 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
145 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
146 ,X_MSG_COUNT => X_MSG_COUNT
147 ,X_MSG_DATA => X_MSG_DATA
148 ,X_RETURN_STATUS => X_RETURN_STATUS);
149
150 WHEN OTHERS THEN
151 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
152 P_API_NAME => L_API_NAME
153 ,P_PKG_NAME => G_PKG_NAME
154 ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
155 ,P_SQLCODE => SQLCODE
156 ,P_SQLERRM => SQLERRM
157 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
158 ,X_MSG_COUNT => X_MSG_COUNT
159 ,X_MSG_DATA => X_MSG_DATA
160 ,X_RETURN_STATUS => X_RETURN_STATUS);
161 End Create_selcrit;
162
163
164 -- Hint: Add corresponding update detail table procedures if it's master-detail relationship.
165 PROCEDURE Update_selcrit(
166 P_Api_Version_Number IN NUMBER,
167 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
168 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
169 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
170 P_Identity_Resource_Id IN NUMBER,
171 P_SELCRIT_Rec IN PV_RULE_RECTYPE_PUB.SELCRIT_Rec_Type,
172 X_Return_Status OUT NOCOPY VARCHAR2,
173 X_Msg_Count OUT NOCOPY NUMBER,
174 X_Msg_Data OUT NOCOPY VARCHAR2
175 )
176
177 IS
178 l_api_name CONSTANT VARCHAR2(30) := 'Update_selcrit';
179 l_api_version_number CONSTANT NUMBER := 2.0;
180 BEGIN
181 -- Standard Start of API savepoint
182 SAVEPOINT UPDATE_SELCRIT_PUB;
183
184 -- Standard call to check for call compatibility.
185 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
186 p_api_version_number,
187 l_api_name,
188 G_PKG_NAME)
189 THEN
190 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
191 END IF;
192
193
194 -- Initialize message list if p_init_msg_list is set to TRUE.
195 IF FND_API.to_Boolean( p_init_msg_list )
196 THEN
197 FND_MSG_PUB.initialize;
198 END IF;
199
200
201 -- Debug Message
202 IF (AS_DEBUG_HIGH_ON) THEN
203
204 AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Public API: ' || l_api_name || 'start');
205 END IF;
206
207 IF (AS_DEBUG_HIGH_ON) THEN
208
209
210
211 AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Start time:' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
212
213 END IF;
214
215 -- Initialize API return status to SUCCESS
216 x_return_status := FND_API.G_RET_STS_SUCCESS;
217
218 --
219 -- API body
220 --
221
222 PV_selcrit_PVT.Update_selcrit(
223 P_Api_Version_Number => 2.0,
224 P_Init_Msg_List => FND_API.G_FALSE,
225 P_Commit => p_commit,
226 P_Validation_Level => P_Validation_Level,
227 P_Identity_Resource_Id => P_Identity_Resource_Id,
228 P_SELCRIT_Rec => p_SELCRIT_Rec ,
229 X_Return_Status => x_return_status,
230 X_Msg_Count => x_msg_count,
231 X_Msg_Data => x_msg_data);
232
233 -- Check return status from the above procedure call
234 IF x_return_status = FND_API.G_RET_STS_ERROR then
235 raise FND_API.G_EXC_ERROR;
236 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
237 raise FND_API.G_EXC_UNEXPECTED_ERROR;
238 END IF;
239
240 --
241 -- End of API body
242 --
243
244 -- Standard check for p_commit
245 IF FND_API.to_Boolean( p_commit )
246 THEN
247 COMMIT WORK;
248 END IF;
249
250
251 -- Debug Message
252 IF (AS_DEBUG_HIGH_ON) THEN
253
254 AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Public API: ' || l_api_name || 'end');
255 END IF;
256
257 IF (AS_DEBUG_HIGH_ON) THEN
258
259
260
261 AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'End time:' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
262
263 END IF;
264
265 -- Standard call to get message count and if count is 1, get message info.
266 FND_MSG_PUB.Count_And_Get
267 ( p_count => x_msg_count,
268 p_data => x_msg_data
269 );
270
271 EXCEPTION
272 WHEN FND_API.G_EXC_ERROR THEN
273 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
274 P_API_NAME => L_API_NAME
275 ,P_PKG_NAME => G_PKG_NAME
276 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
277 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
278 ,X_MSG_COUNT => X_MSG_COUNT
279 ,X_MSG_DATA => X_MSG_DATA
280 ,X_RETURN_STATUS => X_RETURN_STATUS);
281
282 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
283 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
284 P_API_NAME => L_API_NAME
285 ,P_PKG_NAME => G_PKG_NAME
286 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
287 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
288 ,X_MSG_COUNT => X_MSG_COUNT
289 ,X_MSG_DATA => X_MSG_DATA
290 ,X_RETURN_STATUS => X_RETURN_STATUS);
291
292 WHEN OTHERS THEN
293 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
294 P_API_NAME => L_API_NAME
295 ,P_PKG_NAME => G_PKG_NAME
296 ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
297 ,P_SQLCODE => SQLCODE
298 ,P_SQLERRM => SQLERRM
299 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
300 ,X_MSG_COUNT => X_MSG_COUNT
301 ,X_MSG_DATA => X_MSG_DATA
302 ,X_RETURN_STATUS => X_RETURN_STATUS);
303 End Update_selcrit;
304
305
306 -- Hint: Add corresponding delete detail table procedures if it's master-detail relationship.
307 -- The Master delete procedure may not be needed depends on different business requirements.
308 PROCEDURE Delete_selcrit(
309 P_Api_Version_Number IN NUMBER,
310 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
311 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
312 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
313 P_Identity_Resource_Id IN NUMBER,
314 P_SELCRIT_Rec IN PV_RULE_RECTYPE_PUB.SELCRIT_Rec_Type,
315 X_Return_Status OUT NOCOPY VARCHAR2,
316 X_Msg_Count OUT NOCOPY NUMBER,
317 X_Msg_Data OUT NOCOPY VARCHAR2
318 )
319
320 IS
321 l_api_name CONSTANT VARCHAR2(30) := 'Delete_selcrit';
322 l_api_version_number CONSTANT NUMBER := 2.0;
323 BEGIN
324 -- Standard Start of API savepoint
325 SAVEPOINT DELETE_SELCRIT_PUB;
326
327 -- Standard call to check for call compatibility.
328 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
329 p_api_version_number,
330 l_api_name,
331 G_PKG_NAME)
332 THEN
333 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
334 END IF;
335
336
337 -- Initialize message list if p_init_msg_list is set to TRUE.
338 IF FND_API.to_Boolean( p_init_msg_list )
339 THEN
340 FND_MSG_PUB.initialize;
341 END IF;
342
343
344 -- Debug Message
345 IF (AS_DEBUG_HIGH_ON) THEN
346
347 AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Public API: ' || l_api_name || 'start');
348 END IF;
349
350 IF (AS_DEBUG_HIGH_ON) THEN
351
352
353
354 AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Start time:' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
355
356 END IF;
357
358 -- Initialize API return status to SUCCESS
359 x_return_status := FND_API.G_RET_STS_SUCCESS;
360
361 --
362 -- API body
363 --
364
365 PV_selcrit_PVT.Delete_selcrit(
366 P_Api_Version_Number => 2.0,
367 P_Init_Msg_List => FND_API.G_FALSE,
371 P_SELCRIT_Rec => p_SELCRIT_Rec,
368 P_Commit => p_commit,
369 P_Validation_Level => p_Validation_Level,
370 P_Identity_Resource_Id => P_Identity_Resource_Id,
372 X_Return_Status => x_return_status,
373 X_Msg_Count => x_msg_count,
374 X_Msg_Data => x_msg_data);
375
376
377 -- Check return status from the above procedure call
378 IF x_return_status = FND_API.G_RET_STS_ERROR then
379 raise FND_API.G_EXC_ERROR;
380 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
381 raise FND_API.G_EXC_UNEXPECTED_ERROR;
382 END IF;
383
384 --
385 -- End of API body
386 --
387
388 -- Standard check for p_commit
389 IF FND_API.to_Boolean( p_commit )
390 THEN
391 COMMIT WORK;
392 END IF;
393
394
395 -- Debug Message
396 IF (AS_DEBUG_HIGH_ON) THEN
397
398 AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Public API: ' || l_api_name || 'end');
399 END IF;
400
401 IF (AS_DEBUG_HIGH_ON) THEN
402
403
404
405 AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'End time:' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
406
407 END IF;
408
409 -- Standard call to get message count and if count is 1, get message info.
410 FND_MSG_PUB.Count_And_Get
411 ( p_count => x_msg_count,
412 p_data => x_msg_data
413 );
414
415 EXCEPTION
416 WHEN FND_API.G_EXC_ERROR THEN
417 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
418 P_API_NAME => L_API_NAME
419 ,P_PKG_NAME => G_PKG_NAME
420 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
421 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
422 ,X_MSG_COUNT => X_MSG_COUNT
423 ,X_MSG_DATA => X_MSG_DATA
424 ,X_RETURN_STATUS => X_RETURN_STATUS);
425
426 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
427 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
428 P_API_NAME => L_API_NAME
429 ,P_PKG_NAME => G_PKG_NAME
430 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
431 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
432 ,X_MSG_COUNT => X_MSG_COUNT
433 ,X_MSG_DATA => X_MSG_DATA
434 ,X_RETURN_STATUS => X_RETURN_STATUS);
435
436 WHEN OTHERS THEN
437 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
438 P_API_NAME => L_API_NAME
439 ,P_PKG_NAME => G_PKG_NAME
440 ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
441 ,P_SQLCODE => SQLCODE
442 ,P_SQLERRM => SQLERRM
443 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
444 ,X_MSG_COUNT => X_MSG_COUNT
445 ,X_MSG_DATA => X_MSG_DATA
446 ,X_RETURN_STATUS => X_RETURN_STATUS);
447 End Delete_selcrit;
448
449
450 End PV_SELCRIT_PUB;