DBA Data[Home] [Help]

PACKAGE: APPS.AS_UTILITY_PVT

Source


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;