DBA Data[Home] [Help]

PACKAGE BODY: APPS.PV_PROCESS_RULES_PUB

Source


1 PACKAGE BODY PV_PROCESS_RULES_PUB as
2 /* $Header: pvrpprub.pls 120.0 2005/05/27 15:56:39 appldev noship $ */
3 -- Start of Comments
4 -- Package name     : PV_PROCESS_RULES_PUB
5 -- Purpose          :
6 -- History          :
7 -- NOTE             :
8 -- End of Comments
9 
10 
11 G_PKG_NAME CONSTANT VARCHAR2(30):= 'PV_PROCESS_RULES_PUB';
12 G_FILE_NAME CONSTANT VARCHAR2(12) := 'pvrpprub.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_process_rules(
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_RULES_Rec                  IN   PV_RULE_RECTYPE_PUB.RULES_REC_TYPE  := PV_RULE_RECTYPE_PUB.G_MISS_RULES_REC,
25     X_process_rule_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_process_rules';
33 l_api_version_number      CONSTANT NUMBER   := 2.0;
34  BEGIN
35       -- Standard Start of API savepoint
36       SAVEPOINT CREATE_PROCESS_RULES_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       IF (AS_DEBUG_HIGH_ON) THEN
77 
78 
79 
80       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Return status: ' || x_return_status);
81 
82       END IF;
83     -- Calling Private package: Create_PROCESS_RULES
84 
85       PV_process_rule_PVT.Create_process_rule(
86          P_Api_Version_Number         => 2.0,
87          P_Init_Msg_List              => FND_API.G_FALSE,
88          P_Commit                     => FND_API.G_FALSE,
89          P_Validation_Level           => P_Validation_Level,
90          P_Identity_Resource_Id       => P_Identity_Resource_Id,
91          P_process_rule_rec           => p_RULES_Rec ,
92          X_process_rule_id            => x_process_rule_id,
93          X_Return_Status              => x_return_status,
94          X_Msg_Count                  => x_msg_count,
95          X_Msg_Data                   => x_msg_data);
96 
97 
98       -- Check return status from the above procedure call
99       IF x_return_status = FND_API.G_RET_STS_ERROR then
100           raise FND_API.G_EXC_ERROR;
101       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
102           raise FND_API.G_EXC_UNEXPECTED_ERROR;
103       END IF;
104 
105       --
106       -- End of API body.
107       --
108 
109       -- Standard check for p_commit
110       IF FND_API.to_Boolean( p_commit )
111       THEN
112           COMMIT WORK;
113       END IF;
114 
115 
116       -- Debug Message
117       IF (AS_DEBUG_HIGH_ON) THEN
118 
119       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Public API: ' || l_api_name || 'end');
120       END IF;
121       IF (AS_DEBUG_HIGH_ON) THEN
122 
123       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'End time:' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
124       END IF;
125       IF (AS_DEBUG_HIGH_ON) THEN
126 
127       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Return status: ' || x_return_status);
128       END IF;
129 
130       -- Standard call to get message count and if count is 1, get message info.
131       FND_MSG_PUB.Count_And_Get
132       (  p_count          =>   x_msg_count,
133          p_data           =>   x_msg_data
134       );
135 
136       EXCEPTION
137           WHEN FND_API.G_EXC_ERROR THEN
138               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
139                    P_API_NAME => L_API_NAME
140                   ,P_PKG_NAME => G_PKG_NAME
141                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
142                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
143                   ,X_MSG_COUNT => X_MSG_COUNT
144                   ,X_MSG_DATA => X_MSG_DATA
145                   ,X_RETURN_STATUS => X_RETURN_STATUS);
146 
147           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
148               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
149                    P_API_NAME => L_API_NAME
150                   ,P_PKG_NAME => G_PKG_NAME
151                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
152                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
153                   ,X_MSG_COUNT => X_MSG_COUNT
154                   ,X_MSG_DATA => X_MSG_DATA
155                   ,X_RETURN_STATUS => X_RETURN_STATUS);
156 
157           WHEN OTHERS THEN
158               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
159                    P_API_NAME => L_API_NAME
160                   ,P_PKG_NAME => G_PKG_NAME
161                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
162                   ,P_SQLCODE => SQLCODE
163                   ,P_SQLERRM => SQLERRM
164                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
165                   ,X_MSG_COUNT => X_MSG_COUNT
166                   ,X_MSG_DATA => X_MSG_DATA
167                   ,X_RETURN_STATUS => X_RETURN_STATUS);
168 End Create_process_rules;
169 
170 
171 -- Hint: Add corresponding update detail table procedures if it's master-detail relationship.
172 PROCEDURE Update_process_rules(
173     P_Api_Version_Number         IN   NUMBER,
174     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
175     P_Commit                     IN   VARCHAR2     := FND_API.G_FALSE,
176     p_validation_level           IN   NUMBER       := FND_API.G_VALID_LEVEL_FULL,
177     P_Identity_Resource_Id       IN   NUMBER,
178     P_RULES_Rec                  IN   PV_RULE_RECTYPE_PUB.RULES_REC_TYPE,
179     X_Return_Status              OUT NOCOPY  VARCHAR2,
180     X_Msg_Count                  OUT NOCOPY  NUMBER,
181     X_Msg_Data                   OUT NOCOPY  VARCHAR2
182     )
183 
184  IS
185 l_api_name                CONSTANT VARCHAR2(30) := 'Update_process_rules';
186 l_api_version_number      CONSTANT NUMBER   := 2.0;
187  BEGIN
188       -- Standard Start of API savepoint
189       SAVEPOINT UPDATE_PROCESS_RULES_PUB;
190 
191       -- Standard call to check for call compatibility.
192       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
193                          	             p_api_version_number,
194                                            l_api_name,
195                                            G_PKG_NAME)
196       THEN
197           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
198       END IF;
199 
200 
201       -- Initialize message list if p_init_msg_list is set to TRUE.
202       IF FND_API.to_Boolean( p_init_msg_list )
203       THEN
204           FND_MSG_PUB.initialize;
205       END IF;
206 
207 
208       -- Debug Message
209       IF (AS_DEBUG_HIGH_ON) THEN
210 
211       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Public API: ' || l_api_name || 'start');
212       END IF;
213 
214       IF (AS_DEBUG_HIGH_ON) THEN
215 
216 
217 
218       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Start time:' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
219 
220       END IF;
221 
222       -- Initialize API return status to SUCCESS
223       x_return_status := FND_API.G_RET_STS_SUCCESS;
224 
225       --
226       -- API body
227       --
228 
229     PV_process_rule_PVT.Update_process_rule(
230        P_Api_Version_Number         => 2.0,
231        P_Init_Msg_List              => FND_API.G_FALSE,
232        P_Commit                     => p_commit,
233        P_Validation_Level           => P_Validation_Level,
234        P_Identity_Resource_Id       => P_Identity_Resource_Id,
235        P_process_rule_rec           =>  p_RULES_Rec ,
236        X_Return_Status              => x_return_status,
237        X_Msg_Count                  => x_msg_count,
238        X_Msg_Data                   => x_msg_data);
239 
240       -- Check return status from the above procedure call
241       IF x_return_status = FND_API.G_RET_STS_ERROR then
242           raise FND_API.G_EXC_ERROR;
243       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
244           raise FND_API.G_EXC_UNEXPECTED_ERROR;
245       END IF;
246 
247       --
248       -- End of API body
249       --
250 
251       -- Standard check for p_commit
252       IF FND_API.to_Boolean( p_commit )
253       THEN
254           COMMIT WORK;
255       END IF;
256 
257 
258       -- Debug Message
259       IF (AS_DEBUG_HIGH_ON) THEN
260 
261       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Public API: ' || l_api_name || 'end');
262       END IF;
263 
264       IF (AS_DEBUG_HIGH_ON) THEN
265 
266 
267 
268       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'End time:' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
269 
270       END IF;
271 
272       -- Standard call to get message count and if count is 1, get message info.
273       FND_MSG_PUB.Count_And_Get
274       (  p_count          =>   x_msg_count,
275          p_data           =>   x_msg_data
276       );
277 
278       EXCEPTION
279           WHEN FND_API.G_EXC_ERROR THEN
280               AS_UTILITY_PVT.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_ERROR
284                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
285                   ,X_MSG_COUNT => X_MSG_COUNT
286                   ,X_MSG_DATA => X_MSG_DATA
287                   ,X_RETURN_STATUS => X_RETURN_STATUS);
288 
289           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
290               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
291                    P_API_NAME => L_API_NAME
292                   ,P_PKG_NAME => G_PKG_NAME
293                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
294                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
295                   ,X_MSG_COUNT => X_MSG_COUNT
296                   ,X_MSG_DATA => X_MSG_DATA
297                   ,X_RETURN_STATUS => X_RETURN_STATUS);
298 
299           WHEN OTHERS THEN
300               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
301                    P_API_NAME => L_API_NAME
302                   ,P_PKG_NAME => G_PKG_NAME
303                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
304                   ,P_SQLCODE => SQLCODE
305                   ,P_SQLERRM => SQLERRM
306                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
307                   ,X_MSG_COUNT => X_MSG_COUNT
308                   ,X_MSG_DATA => X_MSG_DATA
309                   ,X_RETURN_STATUS => X_RETURN_STATUS);
310 End Update_process_rules;
311 
312 
313 -- Hint: Add corresponding delete detail table procedures if it's master-detail relationship.
314 --       The Master delete procedure may not be needed depends on different business requirements.
315 PROCEDURE Delete_process_rules(
316     P_Api_Version_Number         IN   NUMBER,
317     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
318     P_Commit                     IN   VARCHAR2     := FND_API.G_FALSE,
319     p_validation_level           IN   NUMBER       := FND_API.G_VALID_LEVEL_FULL,
320     P_Identity_Resource_Id       IN   NUMBER,
321     P_RULES_Rec                  IN   PV_RULE_RECTYPE_PUB.RULES_REC_TYPE,
322     X_Return_Status              OUT NOCOPY  VARCHAR2,
323     X_Msg_Count                  OUT NOCOPY  NUMBER,
324     X_Msg_Data                   OUT NOCOPY  VARCHAR2
325     )
326 
327  IS
328 l_api_name                CONSTANT VARCHAR2(30) := 'Delete_process_rules';
329 l_api_version_number      CONSTANT NUMBER   := 2.0;
330  BEGIN
331       -- Standard Start of API savepoint
332       SAVEPOINT DELETE_PROCESS_RULES_PUB;
333 
334       -- Standard call to check for call compatibility.
335       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
336                          	             p_api_version_number,
337                                            l_api_name,
338                                            G_PKG_NAME)
339       THEN
340           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
341       END IF;
342 
343 
344       -- Initialize message list if p_init_msg_list is set to TRUE.
345       IF FND_API.to_Boolean( p_init_msg_list )
346       THEN
347           FND_MSG_PUB.initialize;
348       END IF;
349 
350 
351       -- Debug Message
352       IF (AS_DEBUG_HIGH_ON) THEN
353 
357       IF (AS_DEBUG_HIGH_ON) THEN
354       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Public API: ' || l_api_name || 'start');
355       END IF;
356 
358 
359 
360 
361       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Start time:' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
362 
363       END IF;
364 
365       -- Initialize API return status to SUCCESS
366       x_return_status := FND_API.G_RET_STS_SUCCESS;
367 
368       --
369       -- API body
370       --
371 
372     PV_process_rule_PVT.Delete_process_rule(
373        P_Api_Version_Number         => 2.0,
374        P_Init_Msg_List              => FND_API.G_FALSE,
375        P_Commit                     => p_commit,
376        P_Validation_Level           => p_Validation_Level,
377        P_Identity_Resource_Id       => P_Identity_Resource_Id,
378        P_process_rule_rec           => p_RULES_Rec,
379        X_Return_Status              => x_return_status,
380        X_Msg_Count                  => x_msg_count,
381        X_Msg_Data                   => x_msg_data);
382 
383 
384       -- Check return status from the above procedure call
385       IF x_return_status = FND_API.G_RET_STS_ERROR then
386           raise FND_API.G_EXC_ERROR;
387       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
388           raise FND_API.G_EXC_UNEXPECTED_ERROR;
389       END IF;
390 
391       --
392       -- End of API body
393       --
394 
395       -- Standard check for p_commit
396       IF FND_API.to_Boolean( p_commit )
397       THEN
398           COMMIT WORK;
399       END IF;
400 
401 
402       -- Debug Message
403       IF (AS_DEBUG_HIGH_ON) THEN
404 
405       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Public API: ' || l_api_name || 'end');
406       END IF;
407 
408       IF (AS_DEBUG_HIGH_ON) THEN
409 
410 
411 
412       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'End time:' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
413 
414       END IF;
415 
416       -- Standard call to get message count and if count is 1, get message info.
417       FND_MSG_PUB.Count_And_Get
418       (  p_count          =>   x_msg_count,
419          p_data           =>   x_msg_data
420       );
421 
422       EXCEPTION
423           WHEN FND_API.G_EXC_ERROR THEN
424               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
425                    P_API_NAME => L_API_NAME
426                   ,P_PKG_NAME => G_PKG_NAME
427                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
428                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
429                   ,X_MSG_COUNT => X_MSG_COUNT
430                   ,X_MSG_DATA => X_MSG_DATA
431                   ,X_RETURN_STATUS => X_RETURN_STATUS);
432 
433           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
434               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
435                    P_API_NAME => L_API_NAME
436                   ,P_PKG_NAME => G_PKG_NAME
437                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
438                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
439                   ,X_MSG_COUNT => X_MSG_COUNT
440                   ,X_MSG_DATA => X_MSG_DATA
441                   ,X_RETURN_STATUS => X_RETURN_STATUS);
442 
443           WHEN OTHERS THEN
444               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
445                    P_API_NAME => L_API_NAME
446                   ,P_PKG_NAME => G_PKG_NAME
447                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
448                   ,P_SQLCODE => SQLCODE
449                   ,P_SQLERRM => SQLERRM
450                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
451                   ,X_MSG_COUNT => X_MSG_COUNT
452                   ,X_MSG_DATA => X_MSG_DATA
453                   ,X_RETURN_STATUS => X_RETURN_STATUS);
454 End Delete_process_rules;
455 
456 PROCEDURE Copy_process_rules(
457     P_Api_Version_Number         IN   NUMBER,
458     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
459     P_Commit                     IN   VARCHAR2     := FND_API.G_FALSE,
460     p_validation_level           IN   NUMBER       := FND_API.G_VALID_LEVEL_FULL,
461     P_Identity_Resource_Id       IN   NUMBER,
462     P_RULES_Rec                  IN   PV_RULE_RECTYPE_PUB.RULES_REC_TYPE  := PV_RULE_RECTYPE_PUB.G_MISS_RULES_REC,
463     X_process_rule_id            OUT NOCOPY  NUMBER,
464     X_Return_Status              OUT NOCOPY  VARCHAR2,
465     X_Msg_Count                  OUT NOCOPY  NUMBER,
466     X_Msg_Data                   OUT NOCOPY  VARCHAR2
467     )
468 
469  IS
470 l_api_name                CONSTANT VARCHAR2(30) := 'Copy_process_rules';
471 l_api_version_number      CONSTANT NUMBER   := 2.0;
472  BEGIN
473       -- Standard Start of API savepoint
474       SAVEPOINT COPY_PROCESS_RULES_PUB;
475 
476       -- Standard call to check for call compatibility.
477       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
478                          	             p_api_version_number,
479                                            l_api_name,
480                                            G_PKG_NAME)
481       THEN
482           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
483       END IF;
484 
485 
486       -- Initialize message list if p_init_msg_list is set to TRUE.
487       IF FND_API.to_Boolean( p_init_msg_list )
488       THEN
489           FND_MSG_PUB.initialize;
490       END IF;
491 
492 
496       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Public API: ' || l_api_name || 'start');
493       -- Debug Message
494       IF (AS_DEBUG_HIGH_ON) THEN
495 
497       END IF;
498 
499       IF (AS_DEBUG_HIGH_ON) THEN
500 
501 
502 
503       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Start time:' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
504 
505       END IF;
506 
507       -- Initialize API return status to SUCCESS
508       x_return_status := FND_API.G_RET_STS_SUCCESS;
509 
510       --
511       -- API body
512       --
513 
514       IF (AS_DEBUG_HIGH_ON) THEN
515 
516 
517 
518       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Return status: ' || x_return_status);
519 
520       END IF;
521     -- Calling Private package: Copy_PROCESS_RULES
522 
523       PV_process_rule_PVT.Copy_process_rule(
524          P_Api_Version_Number         => 2.0,
525          P_Init_Msg_List              => FND_API.G_FALSE,
526          P_Commit                     => FND_API.G_FALSE,
527          P_Validation_Level           => P_Validation_Level,
528          P_Identity_Resource_Id       => P_Identity_Resource_Id,
529          P_process_rule_rec           => p_RULES_Rec ,
530          X_process_rule_id            => x_process_rule_id,
531          X_Return_Status              => x_return_status,
532          X_Msg_Count                  => x_msg_count,
533          X_Msg_Data                   => x_msg_data);
534 
535 
536       -- Check return status from the above procedure call
537       IF x_return_status = FND_API.G_RET_STS_ERROR then
538           raise FND_API.G_EXC_ERROR;
539       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
540           raise FND_API.G_EXC_UNEXPECTED_ERROR;
541       END IF;
542 
543       --
544       -- End of API body.
545       --
546 
547       -- Standard check for p_commit
548       IF FND_API.to_Boolean( p_commit )
549       THEN
550           COMMIT WORK;
551       END IF;
552 
553 
554       -- Debug Message
555       IF (AS_DEBUG_HIGH_ON) THEN
556 
557       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Public API: ' || l_api_name || 'end');
558       END IF;
559       IF (AS_DEBUG_HIGH_ON) THEN
560 
561       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'End time:' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
562       END IF;
563       IF (AS_DEBUG_HIGH_ON) THEN
564 
565       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Return status: ' || x_return_status);
566       END IF;
567 
568       -- Standard call to get message count and if count is 1, get message info.
569       FND_MSG_PUB.Count_And_Get
570       (  p_count          =>   x_msg_count,
571          p_data           =>   x_msg_data
572       );
573 
574       EXCEPTION
575           WHEN FND_API.G_EXC_ERROR THEN
576               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
577                    P_API_NAME => L_API_NAME
578                   ,P_PKG_NAME => G_PKG_NAME
579                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
580                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
581                   ,X_MSG_COUNT => X_MSG_COUNT
582                   ,X_MSG_DATA => X_MSG_DATA
583                   ,X_RETURN_STATUS => X_RETURN_STATUS);
584 
585           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
586               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
587                    P_API_NAME => L_API_NAME
588                   ,P_PKG_NAME => G_PKG_NAME
589                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
590                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
591                   ,X_MSG_COUNT => X_MSG_COUNT
592                   ,X_MSG_DATA => X_MSG_DATA
593                   ,X_RETURN_STATUS => X_RETURN_STATUS);
594 
595           WHEN OTHERS THEN
596               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
597                    P_API_NAME => L_API_NAME
598                   ,P_PKG_NAME => G_PKG_NAME
599                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
600                   ,P_SQLCODE => SQLCODE
601                   ,P_SQLERRM => SQLERRM
602                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
603                   ,X_MSG_COUNT => X_MSG_COUNT
604                   ,X_MSG_DATA => X_MSG_DATA
605                   ,X_RETURN_STATUS => X_RETURN_STATUS);
606 End Copy_process_rules;
607 
608 End PV_PROCESS_RULES_PUB;