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