1 PACKAGE AS_UTILITY_PVT as
2 /* $Header: asxvutls.pls 120.1 2005/07/07 23:49:25 appldev ship $ */
3
4 -- Start of Comments
5 --
6 -- NAME
7 -- AS_UTILITY_PVT
8 --
9 -- PURPOSE
10 -- This package is a public utility API developed from Sales Core group
11 --
12 -- Constants:
13
14 -- G_PVT
15 -- G_PUB
16 -- G_EXC_OTHERS
17 -- G_CREATE
18 -- G_UPDATE
19 --
20 --
21 -- Procedures:
22 -- Start_API
23 -- End_API
24 -- Handle_Exceptions
25 -- Translate_OrderBy
26 -- Get_Messages
27 -- Debug_Message
28 -- Set_Message
29 -- Gen_Flexfield_Where
30 -- Bind_Flexfield_Where
31 --
32 -- NOTES
33 --
34 --
35 -- HISTORY
36 -- 08/11/99 AWU CREATED(as AS_UTILITY)
37 -- 09/09/99 SOLIN UPDATED(change to JTF_PLSQL_API)
38 -- 11/12/02 AXAVIER Bug#2659173 Changed the procedure Debug_Message.
39
40 --
41 --
42 -- End of Comments
43
44 --------------------------------------------------------------------
45 --
46 -- PUBLIC CONSTANTS
47 --
48 --------------------------------------------------------------------
49
50
51 -- ************************************************************
52 -- The following constants are for exception handling routine
53 -- ************************************************************
54 --
55 -- Exceptions Handling Routine will do the following:
56 -- 1. Rollback to savepoint
57 -- 2. Handle expected, unexpected and other exceptions
58 -- 3. Add an error message to the API message list
59 -- 4. Return error status
60 --
61 -- The following is example of calling exception handling routines:
62 --
63 -- EXCEPTION
64 -- WHEN FND_API.G_EXC_ERROR THEN
65 -- AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
66 -- P_API_NAME => L_API_NAME
67 -- , P_PGK_NAME => G_PKG_NAME
68 -- , P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
69 -- , P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
70 -- , X_MSG_COUNT => X_MSG_COUNT
71 -- , X_MSG_DATA => X_MSG_DATA
72 -- , X_RETURN_STATUS => x_return_status
73 -- );
74
75 -- WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
76 -- AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
77 -- P_API_NAME => L_API_NAME
78 -- , P_PGK_NAME => G_PKG_NAME
79 -- , P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
80 -- , P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
81 -- , X_MSG_COUNT => X_MSG_COUNT
82 -- , X_MSG_DATA => X_MSG_DATA
83 -- , X_RETURN_STATUS => x_return_status
84 -- );
85
86 -- WHEN OTHERS THEN
87 -- AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
88 -- P_API_NAME => L_API_NAME
89 -- , P_PGK_NAME => G_PKG_NAME
90 -- , P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
91 -- , P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
92 -- , X_MSG_COUNT => X_MSG_COUNT
93 -- , X_MSG_DATA => X_MSG_DATA
94 -- , X_RETURN_STATUS => x_return_status
95 -- );
96
97 -- Global variables for package type, used in Handle_Exceptions
98 G_PVT VARCHAR2(30) := '_PVT';
99 G_PUB VARCHAR2(30) := '_PUB';
100
101 -- Global variable for others exception
102 G_EXC_OTHERS NUMBER := 200;
103
104 -- ************************************************************
105 -- The following global variables is used in validation procedures
106 -- -> validation_mode
107 -- ************************************************************
108 G_CREATE VARCHAR2(30) := 'CREATE';
109 G_UPDATE VARCHAR2(30) := 'UPDATE';
110
111
112 --------------------------------------------------------------------
113 --
114 -- PUBLIC DATATYPES
115 --
116 --------------------------------------------------------------------
117
118 --
119 -- Start of Comments
120 --
121 -- Order by record: util_order_by_rec_type
122 --
123 -- Notes:
124 -- 1. col_choice is a two or three digit number.
125 -- First digit represents the priority for the order by column.
126 -- (If priority > 10, use 2 digits to represent it)
127 -- Second(or third) digit represents the descending or ascending
128 -- order for the query result. 1 for ascending and 0 for descending.
129 -- 2. col_name is the order by column name.
130 --
131 -- End of Comments
132
133 TYPE util_order_by_rec_type IS RECORD
134 (
135 col_choice NUMBER := FND_API.G_MISS_NUM,
136 col_name VARCHAR2(30) := FND_API.G_MISS_CHAR
137 );
138
139 G_MISS_UTIL_ORDER_BY_REC util_order_by_rec_type;
140
141 TYPE util_order_by_tbl_type IS TABLE OF util_order_by_rec_type
142 INDEX BY BINARY_INTEGER;
143
144
145 -- Start of Comments
146 --
147 -- Flexfield where record: flex_where_rec_type
148 --
149 -- Notes: 1. name is the column name in where clause. Its format is
150 -- table_alias.column_name.
151 -- 2. value is the search criteria for the column
152 --
153 -- End of Comments
154
155 TYPE flex_where_rec_type IS RECORD
156 (
157 name VARCHAR2(30) := FND_API.G_MISS_CHAR,
158 value VARCHAR2(150) := FND_API.G_MISS_CHAR
159 );
160
161 TYPE flex_where_tbl_type IS TABLE OF flex_where_rec_type
162 INDEX BY BINARY_INTEGER;
163
164
165 --------------------------------------------------------------------
166 --
167 -- PUBLIC APIS
168 --
169 --------------------------------------------------------------------
170
171 -- Start of Comments
172 --
173 -- API name : Start_API
174 -- Type : Public
175 -- Function : Prolog before API starts
176 -- 1. Set saveporint
177 -- 2. Check version number
178 -- 3. Initialize message list
179 -- 4. Invoke callout procedure
180 --
181 --
182 -- Parameters :
183 -- IN :
184 -- p_api_name IN VARCHAR2,
185 -- p_pkg_name IN VARCHAR2,
186 -- p_init_msg_list IN VARCHAR2,
187 -- p_l_api_version IN NUMBER,
188 -- p_api_version IN NUMBER,
189 -- p_api_type IN VARCHAR2,
190 -- OUT :
191 -- x_return_status OUT NOCOPY VARCHAR2(1)
192 --
193 -- Version : Current version 1.0
194 -- Initial version 1.0
195 --
196 --
197 -- End of Comments
198
199 PROCEDURE Start_API(
200 p_api_name IN VARCHAR2,
201 p_pkg_name IN VARCHAR2,
202 p_init_msg_list IN VARCHAR2,
203 p_l_api_version IN NUMBER,
204 p_api_version IN NUMBER,
205 p_api_type IN VARCHAR2,
206 x_return_status OUT NOCOPY VARCHAR2
207 );
208
209
210 -- Start of Comments
211 --
212 -- API name : End_API
213 -- Type : Public
214 -- Function : Epilog of API
215 -- 1. Check whether it needs commit or not
216 -- 2. Get message count
217 -- 3. Invoke callout procedure
218 --
219 --
220 -- Parameters :
221 -- IN : none.
222 -- OUT :
223 -- x_msg_count OUT NUMBER,
224 -- x_msg_data OUT VARCHAR2
225 --
226 --
227 -- Version : Current version 1.0
228 -- Initial version 1.0
229 --
230 --
231 -- End of Comments
232
233 PROCEDURE End_API(
234 x_msg_count OUT NOCOPY NUMBER,
235 x_msg_data OUT NOCOPY VARCHAR2
236 );
237
238
239
240 -- Start of Comments
241 --
242 -- API name : Handle_Exceptions
243 -- Type : Public
244 -- Function : Exception handling routine
245 -- 1. Called by Call_Exception_Handlers
246 -- 2. Handle exception according to different
247 -- p_exception_level
248 --
249 --
250 -- Parameters :
251 -- IN :
252 -- p_api_name IN VARCHAR2
253 -- p_pkg_name IN VARCHAR2
254 -- p_exception_level IN NUMBER
255 -- p_package_type IN VARCHAR2
256 -- x_msg_count IN NUMBER
257 -- x_msg_data IN VARCHAR2
258 -- OUT :
259 --
260 --
261 -- Version : Current version 1.0
262 -- Initial version 1.0
263 --
264 -- End of Comments
265 PROCEDURE Handle_Exceptions(
266 P_API_NAME IN VARCHAR2,
267 P_PKG_NAME IN VARCHAR2,
268 P_EXCEPTION_LEVEL IN NUMBER := FND_API.G_MISS_NUM,
269 P_SQLCODE IN NUMBER DEFAULT NULL,
270 P_SQLERRM IN VARCHAR2 DEFAULT NULL,
271 P_PACKAGE_TYPE IN VARCHAR2,
272 P_ROLLBACK_FLAG IN VARCHAR2 := 'Y',
273 X_MSG_COUNT OUT NOCOPY NUMBER,
274 X_MSG_DATA OUT NOCOPY VARCHAR2,
275 X_RETURN_STATUS OUT NOCOPY VARCHAR2
276 );
277 PROCEDURE Handle_Exceptions(
278 P_MODULE IN VARCHAR2,
279 P_API_NAME IN VARCHAR2,
280 P_PKG_NAME IN VARCHAR2,
281 P_EXCEPTION_LEVEL IN NUMBER := FND_API.G_MISS_NUM,
282 P_SQLCODE IN NUMBER DEFAULT NULL,
283 P_SQLERRM IN VARCHAR2 DEFAULT NULL,
284 P_PACKAGE_TYPE IN VARCHAR2,
285 P_ROLLBACK_FLAG IN VARCHAR2 := 'Y',
286 X_MSG_COUNT OUT NOCOPY NUMBER,
287 X_MSG_DATA OUT NOCOPY VARCHAR2,
288 X_RETURN_STATUS OUT NOCOPY VARCHAR2
289 );
290
291
292
293 -- Start of Comments
294 --
295 -- API name : translate_orderBy
296 -- Type : Public
297 -- Function : translate order by choice numbers and columns into
298 -- a order by string with the order of column names and
299 -- descending or ascending request.
300 --
301 --
302 -- Parameters :
303 -- IN :
304 -- p_api_version_number IN NUMBER,
305 -- p_init_msg_list IN VARCHAR2
306 -- p_validation_level IN NUMBER
307 -- OUT :
308 -- x_return_status OUT NOCOPY VARCHAR2(1)
309 -- x_msg_count OUT NOCOPY NUMBER
310 -- x_msg_data OUT NOCOPY VARCHAR2(2000)
311 --
312 -- Version : Current version 1.0
313 -- Initial version 1.0
314 --
315 --
316 -- End of Comments
317
318 PROCEDURE Translate_OrderBy(
319 p_api_version_number IN NUMBER,
320 p_init_msg_list IN VARCHAR2
321 := FND_API.G_FALSE,
322 p_validation_level IN NUMBER
323 := FND_API.G_VALID_LEVEL_FULL,
324 p_order_by_tbl IN UTIL_ORDER_BY_TBL_TYPE,
325 x_order_by_clause OUT NOCOPY VARCHAR2,
326 x_return_status OUT NOCOPY VARCHAR2,
327 x_msg_count OUT NOCOPY NUMBER,
328 x_msg_data OUT NOCOPY VARCHAR2
329 );
330
331
332 -- Start of Comments
333 --
334 -- API name : Get_Messages
335 -- Type : Public
336 -- Function : Get messages from message dictionary
337 --
338 --
339 -- Parameters :
340 -- IN :
341 -- p_message_count IN NUMBER,
342 -- OUT :
343 -- x_msgs OUT VARCHAR2
344 --
345 -- Version : Current version 1.0
346 -- Initial version 1.0
347 --
348 --
349 -- End of Comments
350 PROCEDURE Get_Messages(
351 p_message_count IN NUMBER,
352 x_msgs OUT NOCOPY VARCHAR2
353 );
354
355
356 -- Start of Comments
357 --
358 -- Message levels:
359 --
360 -- The pre-defined debug message levels are defined in FND_MSG_PUB
361 -- package as follows:
362 -- G_MSG_LVL_DEBUG_HIGH CONSTANT NUMBER := 30;
363 -- G_MSG_LVL_DEBUG_MEDIUM CONSTANT NUMBER := 20;
364 -- G_MSG_LVL_DEBUG_LOW CONSTANT NUMBER := 10;
365 -- The usage for the above mentioned debug levels:
366 -- High:
367 -- Procedure and function call signatures, and major events like
368 -- choosing one of two or more processing methods.
369 -- Medium:
370 -- Dynamic SQL statements, SQL bind variables and intermediate
371 -- level events like results of calculations or important flags.
372 -- Low:
373 -- Variables inside loops, all decisions, and all intermediate
374 -- results.
375 --
376 -- The pre-defined exception message levels in FND_MSG_PUB package
377 -- are as follows:
378 -- G_MSG_LVL_UNEXP_ERROR CONSTANT NUMBER := 60;
379 -- G_MSG_LVL_ERROR CONSTANT NUMBER := 50;
380 -- G_MSG_LVL_SUCCESS CONSTANT NUMBER := 40;
381 -- Their usage are as their names implied.
382 --
383 -- If you'd like to get message from message table, the sample code is below.
384 -- l_count NUMBER;
385 -- l_msg_data VARCHAR2(2000);
386 --
387 -- l_count := FND_MSG_PUB.Count_Msg;
388 -- FOR l_index IN 1..l_count LOOP
389 -- l_msg_data := FND_MSG_PUB.Get(
390 -- p_msg_index => l_index,
391 -- p_encoded => FND_API.G_TRUE);
392 -- dbms_output.put_line(l_msg_data);
393 -- END LOOP;
394 --
395 -- End of Comments
396
397
398 -- Start of Comments
399 --
400 -- API name : Debug_Message
401 -- Type : Public
402 -- Function : Put a debug message into FND_MSG_PUB
403 -- message table
404 --
405 -- Parameters :
406 -- IN :
407 -- p_msg_level IN NUMBER,
408 -- p_app_name IN VARCHAR2,
409 -- p_msg IN VARCHAR2
410 -- OUT : none.
411 --
412 --
413 --
414 -- Version : Current version 1.0
415 -- Initial version 1.0
416 --
417 -- Notes:
418 -- 1. If you want to print a debug message, you should not use
419 -- dbms_output.put_line(), instead, you should call this Debug_Message
420 -- procedure. The parameter p_msg_level can be one of the following:
421 -- FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW
422 -- FND_MSG_PUB.G_MSG_LVL_DEBUG_MEDIUM
423 -- FND_MSG_PUB.G_MSG_LVL_DEBUG_HIGH
424 -- FND_MSG_PUB.G_MSG_LVL_DEBUG_SUCCESS
428 -- AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
425 -- FND_MSG_PUB.G_MSG_LVL_DEBUG_ERROR
426 -- FND_MSG_PUB.G_MSG_LVL_DEBUG_UNEXP_ERROR
427 -- 2. The calling example is like this:
429 -- 'Forecast Id: '||to_char(l_forecast_rec.forecast_id));
430 -- 3. This API is for printing debug message use. If you'd like to
431 -- put tokens into FND_MSG_PUB message table, please use
432 -- Set_Message API described below.
433 --
434 -- End of Comments
435 PROCEDURE Debug_Message(
436 p_msg_level IN NUMBER,
437 -- p_app_name IN VARCHAR2,
438 p_msg IN VARCHAR2
439 );
440 PROCEDURE Debug_Message(
441 p_module IN VARCHAR2,
442 p_msg_level IN NUMBER,
443 p_msg IN VARCHAR2
444 );
445
446
447
448 -- Start of Comments
449 --
450 -- The following five overloading Set_Message APIs will put message
451 -- name and token(s) into FND_MSG_PUB message table. These overloading
452 -- APIs are transparent to developers. We provide these APIs with
453 -- different number of arguments because of performance consideration.
454 -- System loader has to allocate stack for arguments at run time. If
455 -- there is only one token, it will invoke the API which needs one
456 -- token only, and hence take less resource than API with two tokens.
457 --
458 -- End of Comments
459
460
461 -- Start of Comments
462 --
463 -- API name : Set_Message
464 -- Type : Public
465 -- Function : Put 0 token into FND_MSG_PUB message table
466 --
467 -- Parameters :
468 -- IN :
469 -- p_msg_level IN NUMBER,
470 -- p_app_name IN VARCHAR2,
471 -- p_msg_name IN VARCHAR2
472 -- OUT : none.
473 --
474 --
475 --
476 -- Version : Current version 1.0
477 -- Initial version 1.0
478 --
479 -- Notes:
480 -- 1. The parameter p_msg_level can be one of the following:
481 -- FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW
482 -- FND_MSG_PUB.G_MSG_LVL_DEBUG_MEDIUM
483 -- FND_MSG_PUB.G_MSG_LVL_DEBUG_HIGH
484 -- FND_MSG_PUB.G_MSG_LVL_DEBUG_SUCCESS
485 -- FND_MSG_PUB.G_MSG_LVL_DEBUG_ERROR
486 -- FND_MSG_PUB.G_MSG_LVL_DEBUG_UNEXP_ERROR
487 -- 2. p_app_name is your short name of the application this message
488 -- is associated with.
489 -- 3. p_msg_name is the message name that identifies your message.
490 -- 4. p_token? specify the name of the token you want to substitute.
491 -- 5. p_token?_value indicate your substitute text. You can include
492 -- as much substitute text as necessary for the message you call.
493 -- 6. The number of token is restricted to be less than or equal to
494 -- the number of API name specifies.
495 -- 7. The calling example is like this:
496 -- AS_UTILITY_PVT.Set_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'AS',
497 -- 'MY_AP_MESSAGE', 'FILENAME', 'myfile.doc');
498 -- AS_UTILITY_PVT.Set_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'AS',
499 -- 'MY_AP_MESSAGE', 'FILENAME', 'myfile.doc', 'USERNAME', username);
500 --
501 -- End of Comments
502
503 PROCEDURE Set_Message(
504 p_msg_level IN NUMBER,
505 -- p_app_name IN VARCHAR2,
506 p_msg_name IN VARCHAR2
507 );
508 PROCEDURE Set_Message(
509 p_module IN VARCHAR2,
510 p_msg_level IN NUMBER,
511 p_msg_name IN VARCHAR2
512 );
513
514 -- Start of Comments
515 --
516 -- API name : Set_Message
517 -- Type : Public
518 -- Function : Put 1 token into FND_MSG_PUB message table
519 --
520 -- Parameters :
521 -- IN :
522 -- p_msg_level IN NUMBER,
523 -- p_app_name IN VARCHAR2,
524 -- p_msg_name IN VARCHAR2,
525 -- p_token1 IN VARCHAR2,
526 -- p_token1_value IN VARCHAR2
527 -- OUT : none.
528 --
529 --
530 --
531 -- Version : Current version 1.0
532 -- Initial version 1.0
533 --
534 -- Notes:
535 -- See Set_Message()
536 --
537 -- End of Comments
538 PROCEDURE Set_Message(
539 p_msg_level IN NUMBER,
540 -- p_app_name IN VARCHAR2,
541 p_msg_name IN VARCHAR2,
542 p_token1 IN VARCHAR2,
543 p_token1_value IN VARCHAR2
544 );
545 PROCEDURE Set_Message(
546 p_module IN VARCHAR2,
547 p_msg_level IN NUMBER,
548 p_msg_name IN VARCHAR2,
549 p_token1 IN VARCHAR2,
550 p_token1_value IN VARCHAR2
551 );
552
553
554
555 -- Start of Comments
556 --
557 -- API name : Set_Message
558 -- Type : Public
559 -- Function : Put 2 tokens into FND_MSG_PUB message table
560 --
561 -- Parameters :
562 -- IN :
566 -- p_token1 IN VARCHAR2,
563 -- p_msg_level IN NUMBER,
564 -- p_app_name IN VARCHAR2,
565 -- p_msg_name IN VARCHAR2,
567 -- p_token1_value IN VARCHAR2,
568 -- p_token2 IN VARCHAR2,
569 -- p_token2_value IN VARCHAR2
570 -- OUT : none.
571 --
572 --
573 --
574 -- Version : Current version 1.0
575 -- Initial version 1.0
576 --
577 -- Notes:
578 -- See Set_Message()
579 --
580 -- End of Comments
581 PROCEDURE Set_Message(
582 p_msg_level IN NUMBER,
583 -- p_app_name IN VARCHAR2,
584 p_msg_name IN VARCHAR2,
585 p_token1 IN VARCHAR2,
586 p_token1_value IN VARCHAR2,
587 p_token2 IN VARCHAR2,
588 p_token2_value IN VARCHAR2
589 );
590 PROCEDURE Set_Message(
591 p_module IN VARCHAR2,
592 p_msg_level IN NUMBER,
593 p_msg_name IN VARCHAR2,
594 p_token1 IN VARCHAR2,
595 p_token1_value IN VARCHAR2,
596 p_token2 IN VARCHAR2,
597 p_token2_value IN VARCHAR2
598 );
599
600
601
602 -- Start of Comments
603 --
604 -- API name : Set_Message
605 -- Type : Public
606 -- Function : Put 3 tokens into FND_MSG_PUB message table
607 --
608 -- Parameters :
609 -- IN :
610 -- p_msg_level IN NUMBER,
611 -- p_app_name IN VARCHAR2,
612 -- p_msg_name IN VARCHAR2,
613 -- p_token1 IN VARCHAR2,
614 -- p_token1_value IN VARCHAR2,
615 -- p_token2 IN VARCHAR2,
616 -- p_token2_value IN VARCHAR2,
617 -- p_token3 IN VARCHAR2,
618 -- p_token3_value IN VARCHAR2
619 -- OUT : none.
620 --
621 --
622 --
623 -- Version : Current version 1.0
624 -- Initial version 1.0
625 --
626 -- Notes:
627 -- See Set_Message()
628 --
629 -- End of Comments
630 PROCEDURE Set_Message(
631 p_msg_level IN NUMBER,
632 -- p_app_name IN VARCHAR2,
633 p_msg_name IN VARCHAR2,
634 p_token1 IN VARCHAR2,
635 p_token1_value IN VARCHAR2,
636 p_token2 IN VARCHAR2,
637 p_token2_value IN VARCHAR2,
638 p_token3 IN VARCHAR2,
639 p_token3_value IN VARCHAR2
640 );
641 PROCEDURE Set_Message(
642 p_module IN VARCHAR2,
643 p_msg_level IN NUMBER,
644 p_msg_name IN VARCHAR2,
645 p_token1 IN VARCHAR2,
646 p_token1_value IN VARCHAR2,
647 p_token2 IN VARCHAR2,
648 p_token2_value IN VARCHAR2,
649 p_token3 IN VARCHAR2,
650 p_token3_value IN VARCHAR2
651 );
652
653 -- Start of Comments
654 --
655 -- API name : Set_Message
656 -- Type : Public
657 -- Function : Put 7 tokens into FND_MSG_PUB message table
658 --
659 -- Parameters :
660 -- IN :
661 -- p_msg_level IN NUMBER,
662 -- p_app_name IN VARCHAR2,
663 -- p_msg_name IN VARCHAR2,
664 -- p_token1 IN VARCHAR2,
665 -- p_token1_value IN VARCHAR2,
666 -- p_token2 IN VARCHAR2,
667 -- p_token2_value IN VARCHAR2,
668 -- p_token3 IN VARCHAR2,
669 -- p_token3_value IN VARCHAR2,
670 -- p_token4 IN VARCHAR2,
671 -- p_token4_value IN VARCHAR2,
672 -- p_token5 IN VARCHAR2,
673 -- p_token5_value IN VARCHAR2,
674 -- p_token6 IN VARCHAR2,
675 -- p_token6_value IN VARCHAR2,
676 -- p_token7 IN VARCHAR2,
677 -- p_token7_value IN VARCHAR2
678 -- OUT : none.
679 --
680 --
681 --
682 -- Version : Current version 1.0
683 -- Initial version 1.0
684 --
685 -- Notes:
686 -- See Set_Message()
687 --
688 -- End of Comments
689 PROCEDURE Set_Message(
690 p_msg_level IN NUMBER,
691 -- p_app_name IN VARCHAR2,
692 p_msg_name IN VARCHAR2,
693 p_token1 IN VARCHAR2,
694 p_token1_value IN VARCHAR2,
695 p_token2 IN VARCHAR2,
696 p_token2_value IN VARCHAR2,
697 p_token3 IN VARCHAR2,
698 p_token3_value IN VARCHAR2,
699 p_token4 IN VARCHAR2,
700 p_token4_value IN VARCHAR2,
701 p_token5 IN VARCHAR2 := FND_API.G_MISS_CHAR,
702 p_token5_value IN VARCHAR2 := FND_API.G_MISS_CHAR,
703 p_token6 IN VARCHAR2 := FND_API.G_MISS_CHAR,
704 p_token6_value IN VARCHAR2 := FND_API.G_MISS_CHAR,
705 p_token7 IN VARCHAR2 := FND_API.G_MISS_CHAR,
706 p_token7_value IN VARCHAR2 := FND_API.G_MISS_CHAR
707 );
708 PROCEDURE Set_Message(
709 p_module IN VARCHAR2,
710 p_msg_level IN NUMBER,
711 p_msg_name IN VARCHAR2,
712 p_token1 IN VARCHAR2,
713 p_token1_value IN VARCHAR2,
714 p_token2 IN VARCHAR2,
715 p_token2_value IN VARCHAR2,
716 p_token3 IN VARCHAR2,
717 p_token3_value IN VARCHAR2,
718 p_token4 IN VARCHAR2,
719 p_token4_value IN VARCHAR2,
720 p_token5 IN VARCHAR2 := FND_API.G_MISS_CHAR,
721 p_token5_value IN VARCHAR2 := FND_API.G_MISS_CHAR,
722 p_token6 IN VARCHAR2 := FND_API.G_MISS_CHAR,
723 p_token6_value IN VARCHAR2 := FND_API.G_MISS_CHAR,
724 p_token7 IN VARCHAR2 := FND_API.G_MISS_CHAR,
725 p_token7_value IN VARCHAR2 := FND_API.G_MISS_CHAR
726 );
727
728
729
730
731
732 -- Start of Comments
733 --
734 -- API Name : Gen_Flexfield_Where
735 -- Type : Public
736 -- Function : common procedure for flexfield search with binding
737 -- Parameters :
738 -- IN :
739 -- p_flex_where_tbl_type : column names and the search criteria
740 -- for those columns in where clause
741 --
742 -- OUT :
743 -- x_flex_where_clause : where clause based on flexfield, the
744 -- format of which like ' AND
745 -- table.column1 = :p_ofso_flex_var1 AND
746 -- table.column2 = :p_ofso_flex_var2 ....'
747 --
748 --
749 -- Version : Current version 1.0
750 -- Initial version 1.0
751 --
752 -- Notes:
753 --
754 -- End of Comments
755
756 PROCEDURE Gen_Flexfield_Where(
757 p_flex_where_tbl_type IN AS_UTILITY_PVT.flex_where_tbl_type,
758 x_flex_where_clause OUT NOCOPY VARCHAR2
759 );
760
761 -- Start of Comments
762 --
763 -- API Name : Bind_Flexfield_Where
764 -- Type : Public
765 -- Function : common procedure for flexfield search with binding.
766 -- Bind placeholders in the where clause generated by
767 -- Gen_Flexfield_Where.
768 -- Parameters :
769 -- IN :
770 -- p_cursor_id : identifier of the cursor for binding.
771 -- p_flex_where_tbl_type : column names and the search criteria
772 -- for those columns in where clause
773 --
774 -- OUT : none.
775 --
776 -- Version : Current version 1.0
777 -- Initial version 1.0
778 --
779 -- Notes:
780 --
781 -- End of Comments
782
783 PROCEDURE Bind_Flexfield_Where(
784 p_cursor_id IN NUMBER,
785 p_flex_where_tbl_type IN AS_UTILITY_PVT.flex_where_tbl_type
786 );
787
788
789 PROCEDURE file_debug(line IN VARCHAR2);
790 PROCEDURE enable_file_debug(path_name IN VARCHAR2,
791 file_name IN VARCHAR2);
792
793 PROCEDURE disable_file_debug;
794
795 FUNCTION get_degree_parallelism RETURN NUMBER;
796
797 PROCEDURE capture_index_definitions(errbuf OUT NOCOPY VARCHAR2,
798 retcode OUT NOCOPY VARCHAR2,
799 p_table_name VARCHAR2,
800 p_table_owner VARCHAR2);
801
802 PROCEDURE execute_ind(errbuf OUT NOCOPY VARCHAR2,
803 retcode OUT NOCOPY VARCHAR2,
804 p_mode VARCHAR2,
805 p_table_name VARCHAR2,
806 p_table_owner VARCHAR2);
807
808 END AS_UTILITY_PVT;