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