DBA Data[Home] [Help]

PACKAGE: APPS.OE_GENERATE

Source


1 PACKAGE OE_GENERATE AUTHID CURRENT_USER AS
2 /* $Header: OEXTGENS.pls 120.0 2005/06/01 00:40:39 appldev noship $ */
3 
4 --  Attribute record type.
5 
6 TYPE Attribute_Rec_Type IS RECORD
7 (   name		VARCHAR2(30)	:=  NULL
8 ,   column		VARCHAR2(30)	:=  NULL
9 ,   code		VARCHAR2(30)	:=  NULL
10 ,   value		BOOLEAN		:=  FALSE
11 ,   value_type		VARCHAR2(30)	:=  NULL
12 ,   type		VARCHAR2(30)	:=  NULL
13 ,   length		NUMBER		:=  NULL
14 ,   context		BOOLEAN		:=  FALSE
15 ,   category		NUMBER		:=  NULL
16 ,   db_attr		BOOLEAN		:=  TRUE
17 ,   pk_flag		BOOLEAN		:=  FALSE
18 ,   text1		VARCHAR2(30)	:=  NULL
19 ,   text2		VARCHAR2(30)	:=  NULL
20 ,   text3		VARCHAR2(30)	:=  NULL
21 );
22 
23 --  Attribute table type.
24 
25 TYPE Attribute_Tbl_Type IS TABLE OF Attribute_Rec_Type
26     INDEX BY BINARY_INTEGER;
27 
28 --  Gloabl attribute table.
29 
30 g_attr_tbl	Attribute_Tbl_Type;
31 
32 --  Missing constants
33 
34 G_MISS_ATTR_REC			Attribute_Rec_Type;
35 G_MISS_ATTR_TBL			Attribute_Tbl_Type;
36 
37 --  Entity record type.
38 
39 TYPE Entity_Rec_Type IS RECORD
40 (   name	    VARCHAR2(30)    :=  NULL
41 ,   plural_name	    VARCHAR2(30)    :=  NULL
42 ,   tbl		    VARCHAR2(30)    :=  NULL
43 ,   read_view	    VARCHAR2(30)    :=  NULL
44 ,   parent	    NUMBER	    :=  NULL
45 ,   multiple	    BOOLEAN	    :=  FALSE
46 ,   code	    VARCHAR2(30)    :=  NULL
47 ,   pk_column	    VARCHAR2(30)    :=	NULL	--  To be obsoleted
48 ,   text1	    VARCHAR2(30)    :=  NULL
49 ,   text2	    VARCHAR2(30)    :=  NULL
50 ,   text3	    VARCHAR2(30)    :=  NULL
51 );
52 
53 --  Entity table type.
54 
55 TYPE Entity_Tbl_Type IS TABLE OF Entity_Rec_Type
56     INDEX BY BINARY_INTEGER;
57 
58 --  Missing constants
59 
60 G_MISS_ENTITY_REC		Entity_Rec_Type;
61 G_MISS_ENTITY_TBL		Entity_Tbl_Type;
62 
63 --  Gloabl entity table.
64 
65 g_entity_tbl	Entity_Tbl_Type;
66 
67 --  Attribute types.
68 
69 G_TYPE_NUMBER	    CONSTANT	VARCHAR2(30) := 'NUMBER';
70 G_TYPE_CHAR	    CONSTANT	VARCHAR2(30) := 'VARCHAR2';
71 G_TYPE_DATE	    CONSTANT	VARCHAR2(30) := 'DATE';
72 G_TYPE_KEY_FLEX	    CONSTANT	VARCHAR2(30) := 'KEY_FLEX';
73 
74 --  Attribute categories
75 
76 G_CAT_REGULAR		CONSTANT NUMBER := 1;
77 G_CAT_DESC_FLEX		CONSTANT NUMBER := 2;
78 G_CAT_KEY_FLEX		CONSTANT NUMBER := 3;
79 G_CAT_WHO		CONSTANT NUMBER := 4;
80 G_CAT_TEMP		CONSTANT NUMBER := 5;
81 
82 --  Gloabl attribute table.
83 
84 g_attr_value_tbl    Attribute_Tbl_Type;
85 
86 --  Gloabl primary key attribute table.
87 
88 g_pk_attr_tbl	Attribute_Tbl_Type;
89 
90 --  Gloabl Flex attribute table.
91 
92 g_flex_attr_tbl	Attribute_Tbl_Type;
93 
94 --  Flexfield types
95 
96 G_FLEX_TYPE_DESC	CONSTANT NUMBER := 1;
97 G_FLEX_TYPE_KEY		CONSTANT NUMBER := 2;
98 
99 --  Flexfield record type
100 
101 TYPE Flex_Rec_Type IS RECORD
102 (   name	    VARCHAR2(30)
103 ,   seg_count	    NUMBER
104 );
105 
106 --  Flex table type.
107 
108 TYPE Flex_Tbl_Type IS TABLE OF Flex_Rec_Type
109     INDEX BY BINARY_INTEGER;
110 
111 --  Global flex table
112 
113 g_desc_flex_tbl	    Flex_Tbl_Type;
114 g_key_flex_tbl	    Flex_Tbl_Type;
115 
116 --  Message types.
117 
118 G_MSG_ERROR		CONSTANT    NUMBER := 1;
119 G_MSG_SUCCESS		CONSTANT    NUMBER := 2;
120 G_MSG_UNEXP_ERROR	CONSTANT    NUMBER := 3;
121 
122 --  Package Types.
123 
124 G_PKG_TYPE_BODY	    CONSTANT	VARCHAR2(30) := 'BODY';
125 G_PKG_TYPE_SPEC	    CONSTANT	VARCHAR2(30) := 'SPEC';
126 
127 --  API Types.
128 
129 G_API_TYPE_PUB	    CONSTANT	VARCHAR2(30) := 'PUB';
130 G_API_TYPE_PVT	    CONSTANT	VARCHAR2(30) := 'PVT';
131 G_API_TYPE_GRP	    CONSTANT	VARCHAR2(30) := 'GRP';
132 
133 
134 --  Varchar2 160 tbl type.
135 
136 TYPE Varchar2_160_Tbl_Type IS TABLE OF VARCHAR2(160)
137     INDEX BY BINARY_INTEGER;
138 
139 --  Global src table.
140 
141 g_src_tbl		Varchar2_160_Tbl_Type;
142 
143 --  Global variables set by generation scripts.
144 
145 g_product	    VARCHAR2(4);
146 g_product_file	    VARCHAR2(4);
147 g_file_location	    VARCHAR2(240);
148 g_form_code	    VARCHAR2(30);
149 g_object_code	    VARCHAR2(30);
150 g_object_name	    VARCHAR2(30);
151 g_current_entity    NUMBER;
152 
153 --  Derived variables set by generation scripts.
154 
155 CONS_l_g_rec		    VARCHAR2(30);
156 CONS_l_g_db_rec		    VARCHAR2(30);
157 CONS_l_l_rec		    VARCHAR2(30);
158 CONS_l_p_rec		    VARCHAR2(30);
159 CONS_l_l_x_rec		    VARCHAR2(30);
160 CONS_l_x_rec		    VARCHAR2(30);
161 CONS_l_l_old_rec	    VARCHAR2(30);
162 CONS_l_p_old_rec	    VARCHAR2(30);
163 CONS_l_x_old_rec	    VARCHAR2(30);
164 CONS_l_l_val_rec	    VARCHAR2(30);
165 CONS_l_p_val_rec	    VARCHAR2(30);
166 CONS_l_x_val_rec	    VARCHAR2(30);
167 CONS_l_g_val_rec	    VARCHAR2(30);
168 CONS_l_l_tbl		    VARCHAR2(30);
169 CONS_l_g_tbl		    VARCHAR2(30);
170 CONS_l_p_tbl		    VARCHAR2(30);
171 CONS_l_l_x_tbl		    VARCHAR2(30);
172 CONS_l_x_tbl		    VARCHAR2(30);
173 CONS_l_l_old_tbl	    VARCHAR2(30);
174 CONS_l_p_old_tbl	    VARCHAR2(30);
175 CONS_l_x_old_tbl	    VARCHAR2(30);
176 CONS_l_g_val_tbl	    VARCHAR2(30);
177 CONS_l_p_val_tbl	    VARCHAR2(30);
178 CONS_l_x_val_tbl	    VARCHAR2(30);
179 CONS_l_pub_bus_obj_pkg	    VARCHAR2(30);
180 CONS_l_pvt_bus_obj_pkg	    VARCHAR2(30);
181 CONS_l_entity_attr_pkg	    VARCHAR2(30);
182 CONS_l_util_pkg		    VARCHAR2(30);
183 CONS_l_val_to_id_pkg	    VARCHAR2(30);
184 CONS_l_def_pkg		    VARCHAR2(30);
185 CONS_l_val_pkg		    VARCHAR2(30);
186 CONS_l_glb_pkg		    VARCHAR2(30);
187 CONS_l_form_pkg		    VARCHAR2(30);
188 CONS_l_id_to_value_pkg	    VARCHAR2(30);
189 CONS_l_rec_type		    VARCHAR2(60);
190 CONS_l_tbl_type		    VARCHAR2(60);
191 CONS_l_val_rec_type	    VARCHAR2(60);
192 CONS_l_val_tbl_type	    VARCHAR2(60);
193 CONS_l_ctrl_rec_type	    VARCHAR2(60);
194 CONS_l_entity_prefix	    VARCHAR2(60);
195 CONS_l_miss_rec		    VARCHAR2(60);
196 CONS_l_miss_val_rec	    VARCHAR2(60);
197 CONS_l_miss_tbl		    VARCHAR2(60);
198 CONS_l_miss_val_tbl	    VARCHAR2(60);
199 
200 TYPE gen_pkg_rec_type IS RECORD
201 (   name	VARCHAR2(30)
202 ,   type	VARCHAR2(30)
203 ,   filename	VARCHAR2(30)
204 );
205 
206 TYPE gen_pkg_tbl_type IS TABLE OF gen_pkg_rec_type
207     INDEX BY BINARY_INTEGER;
208 
209 --  Global generated package table.
210 
211 g_gen_pkg_tbl	gen_pkg_tbl_type;
212 
213 --  Global results file handlers.
214 
215 g_results_file	    UTL_FILE.file_type;
216 
217 --  Prototypes.
218 
219 PROCEDURE API_Parameters
220 (   p_file	    IN  UTL_FILE.file_type
221 ,   p_product	    IN	VARCHAR2
222 ,   p_object	    IN	VARCHAR2
223 ,   p_name	    IN  VARCHAR2
224 ,   p_type	    IN  VARCHAR2
225 ,   p_entity_tbl    IN	Entity_Tbl_Type
226 ,   p_lock_api	    IN	BOOLEAN := FALSE
227 );
228 
229 PROCEDURE API_Header
230 (   p_file	IN  UTL_FILE.file_type
231 ,   p_name	IN  VARCHAR2
232 ,   p_type	IN  VARCHAR2
233 );
234 
235 PROCEDURE Pkg_Header
236 (   p_file	IN  UTL_FILE.file_type
237 ,   p_filename	IN  VARCHAR2
238 ,   p_pkg_name	IN  VARCHAR2
239 ,   p_pkg_type	IN  VARCHAR2
240 );
241 
242 PROCEDURE Pkg_End
243 (   p_file	IN  UTL_FILE.file_type
244 ,   p_pkg_name	IN  VARCHAR2
245 ,   p_pkg_type	IN  VARCHAR2
246 ,   p_filename	IN  VARCHAR2 := NULL
247 );
248 
249 PROCEDURE Log_Compile
250 (   p_pkg_name	    IN	VARCHAR2
251 ,   p_filename	    IN	VARCHAR2
252 ,   p_pkg_type	    IN	VARCHAR2
253 );
254 
255 PROCEDURE Parameter
256 (   p_file	IN  UTL_FILE.file_type
257 ,   p_param	IN  VARCHAR2
258 ,   p_mode	IN  VARCHAR2 := 'IN'
259 ,   p_type	IN  VARCHAR2 := G_TYPE_NUMBER
260 ,   p_level	IN  NUMBER := 1
261 ,   p_rpad	IN  NUMBER := 30
262 ,   p_first	IN  BOOLEAN := FALSE
263 );
264 
265 PROCEDURE Element
266 (   p_file	IN  UTL_FILE.file_type
267 ,   p_element	IN  VARCHAR2
268 ,   p_type	IN  VARCHAR2 := G_TYPE_NUMBER
269 ,   p_level	IN  NUMBER := 1
270 ,   p_rpad	IN  NUMBER := 30
271 ,   p_first	IN  BOOLEAN := FALSE
272 );
273 
274 PROCEDURE Variable
275 (   p_file	IN  UTL_FILE.file_type
276 ,   p_var	IN  VARCHAR2
277 ,   p_type	IN  VARCHAR2
278 ,   p_level	IN  NUMBER := 1
279 ,   p_rpad	IN  NUMBER := 30
280 );
281 
282 PROCEDURE Assign
283 (   p_file	IN  UTL_FILE.file_type
284 ,   p_left	IN  VARCHAR2
285 ,   p_right	IN  VARCHAR2
286 ,   p_level	IN  NUMBER := 1
287 ,   p_rpad	IN  NUMBER := 30
288 );
289 
290 PROCEDURE Check_Status
291 (   p_file	IN  UTL_FILE.file_type
292 ,   p_variable	IN  VARCHAR2
293 ,   p_level	IN  NUMBER := 1
294 );
295 
296 PROCEDURE Call_Param
297 (   p_file	IN  UTL_FILE.file_type
298 ,   p_param	IN  VARCHAR2
299 ,   p_val	IN  VARCHAR2
300 ,   p_level	IN  NUMBER := 1
301 ,   p_rpad	IN  NUMBER := 30
302 ,   p_first	IN  BOOLEAN := FALSE
303 );
304 
305 PROCEDURE End_Call
306 (   p_file	IN  UTL_FILE.file_type
307 ,   p_level	IN  NUMBER := 1
308 );
309 
310 PROCEDURE Get_Msg
311 (   p_file	IN  UTL_FILE.file_type
312 ,   p_level	IN  NUMBER := 1
313 );
314 
315 PROCEDURE Comment
316 (   p_file	    IN  UTL_FILE.file_type
317 ,   p_comment	    IN  VARCHAR2
318 ,   p_level	    IN  NUMBER := 1
319 ,   p_line_before   IN	BOOLEAN := TRUE
320 ,   p_line_after    IN	BOOLEAN := TRUE
321 );
322 
323 PROCEDURE Text
324 (   p_file	IN  UTL_FILE.file_type
325 ,   p_string	IN  VARCHAR2
326 ,   p_level	IN  NUMBER := 1
327 );
328 
329 PROCEDURE Msg
330 (   p_file	IN  UTL_FILE.file_type
331 ,   p_product	IN  VARCHAR2
332 ,   p_name	IN  VARCHAR2
333 ,   p_level	IN  NUMBER := 2
334 ,   p_tk1	IN  VARCHAR2 := NULL
335 ,   p_tk1_val	IN  VARCHAR2 := NULL
336 ,   p_tk2	IN  VARCHAR2 := NULL
337 ,   p_tk2_val	IN  VARCHAR2 := NULL
338 ,   p_tk3	IN  VARCHAR2 := NULL
339 ,   p_tk3_val	IN  VARCHAR2 := NULL
340 ,   p_tk4	IN  VARCHAR2 := NULL
341 ,   p_tk4_val	IN  VARCHAR2 := NULL
342 ,   p_tk5	IN  VARCHAR2 := NULL
343 ,   p_tk5_val	IN  VARCHAR2 := NULL
344 ,   p_type	IN  NUMBER   := G_MSG_ERROR
345 ,   p_tk1_is_text IN  BOOLEAN := TRUE
346 ,   p_tk2_is_text IN  BOOLEAN := TRUE
347 ,   p_tk3_is_text IN  BOOLEAN := TRUE
348 ,   p_tk4_is_text IN  BOOLEAN := TRUE
349 ,   p_tk5_is_text IN  BOOLEAN := TRUE
350 );
351 
352 PROCEDURE Error_Msg
353 (   p_file	IN  UTL_FILE.file_type
354 ,   p_product	IN  VARCHAR2
355 ,   p_name	IN  VARCHAR2
356 ,   p_level	IN  NUMBER := 2
357 ,   p_tk1	IN  VARCHAR2 := NULL
358 ,   p_tk1_val	IN  VARCHAR2 := NULL
359 ,   p_tk2	IN  VARCHAR2 := NULL
360 ,   p_tk2_val	IN  VARCHAR2 := NULL
361 ,   p_tk3	IN  VARCHAR2 := NULL
362 ,   p_tk3_val	IN  VARCHAR2 := NULL
363 ,   p_tk4	IN  VARCHAR2 := NULL
364 ,   p_tk4_val	IN  VARCHAR2 := NULL
365 ,   p_tk5	IN  VARCHAR2 := NULL
366 ,   p_tk5_val	IN  VARCHAR2 := NULL
367 ,   p_tk1_is_text IN  BOOLEAN := TRUE
368 ,   p_tk2_is_text IN  BOOLEAN := TRUE
369 ,   p_tk3_is_text IN  BOOLEAN := TRUE
370 ,   p_tk4_is_text IN  BOOLEAN := TRUE
371 ,   p_tk5_is_text IN  BOOLEAN := TRUE
372 );
373 
374 PROCEDURE Exc_Msg
375 (   p_file	IN  UTL_FILE.file_type
376 ,   p_procedure	IN  VARCHAR2
377 ,   p_error	IN  VARCHAR2 := NULL
378 ,   p_level	IN  NUMBER := 2
379 ,   p_text	IN  BOOLEAN := FALSE
380 );
381 
382 PROCEDURE Std_Exc_Handler
383 (   p_file	IN  UTL_FILE.file_type
384 ,   p_name	IN  VARCHAR2 := NULL
385 ,   p_savepoint	IN  VARCHAR2 := NULL
386 );
387 
388 PROCEDURE Others_Exc
389 (   p_file	IN  UTL_FILE.file_type
390 ,   p_name	IN  VARCHAR2	:= NULL
391 ,   p_level	IN  NUMBER	:= 0
392 ,   p_raise_exc	IN  BOOLEAN	:= TRUE
393 );
394 
395 PROCEDURE Client_Exception
396 (   p_file	IN  UTL_FILE.file_type
397 ,   p_name	IN  VARCHAR2	:=  NULL
398 ,   p_level	IN  NUMBER	:= 0
399 );
400 
401 PROCEDURE Comp_Check
402 (   p_file	IN  UTL_FILE.file_type
403 );
404 
405 PROCEDURE API_Local_Vars
406 (   p_file	    IN  UTL_FILE.file_type
407 ,   p_entity_tbl    IN  Entity_Tbl_Type
408 ,   p_pkg	    IN	VARCHAR2
409 );
410 
411 PROCEDURE API_Out_Vars
412 (   p_file	    IN  UTL_FILE.file_type
413 ,   p_entity_tbl    IN  Entity_Tbl_Type
414 ,   p_pkg	    IN	VARCHAR2
415 ,   p_level	    IN  NUMBER := 1
416 );
417 
418 PROCEDURE API_Out_Param
419 (   p_file	    IN  UTL_FILE.file_type
420 ,   p_entity_tbl    IN  Entity_Tbl_Type
421 ,   p_level	    IN  NUMBER := 1
422 ,   p_entity_prefix IN	VARCHAR2 := 'l_'
423 ,   p_type	    IN	VARCHAR2 := G_API_TYPE_PVT
424 );
425 
426 PROCEDURE API_In_Param
427 (   p_file	    IN  UTL_FILE.file_type
428 ,   p_entity_tbl    IN  Entity_Tbl_Type
429 ,   p_level	    IN  NUMBER := 1
430 ,   p_entity_prefix IN	VARCHAR2 := 'l_'
431 ,   p_old_param	    IN	BOOLEAN := TRUE
432 ,   p_val_param     IN	BOOLEAN := FALSE
433 ,   p_id_param      IN	BOOLEAN := FALSE
434 );
435 
436 FUNCTION Gen_Start_Token
437 (   p_text	IN  VARCHAR2
438 )
439 RETURN VARCHAR2;
440 
441 FUNCTION Gen_End_Token
442 (   p_text	IN  VARCHAR2
443 )
444 RETURN VARCHAR2;
445 
446 FUNCTION Is_Gen_Start
447 (   p_text	IN  VARCHAR2
448 )
449 RETURN BOOLEAN;
450 
451 FUNCTION Is_Gen_End
452 (   p_text	IN  VARCHAR2
453 )
454 RETURN BOOLEAN;
455 
456 PROCEDURE Start_Gen
457 (   p_file	IN  UTL_FILE.file_type
458 ,   p_text	IN  VARCHAR2
459 );
460 
461 PROCEDURE End_Gen
462 (   p_file	IN  UTL_FILE.file_type
463 ,   p_text	IN  VARCHAR2
464 );
465 
466 PROCEDURE Load_File
467 (   p_file	IN  UTL_FILE.file_type
468 );
469 
470 PROCEDURE Load_PK_Attr_Tbl;
471 PROCEDURE Load_Flex_Tables;
472 PROCEDURE Load_Flex_Attr_Tbl
473 (   p_flex_name	    IN	VARCHAR2
474 );
475 
476 PROCEDURE Parameter_PK
477 (   p_file	   IN  UTL_FILE.file_type
478 ,   p_mode	   IN  VARCHAR2 := 'IN'
479 ,   p_level	   IN  NUMBER := 0
480 ,   p_rpad	   IN  NUMBER := 30
481 ,   p_first	   IN  BOOLEAN := FALSE
482 
483     -- Should defaults be given to PK's
484 ,   p_default_miss IN  BOOLEAN := FALSE
485 
486     -- Should VALUE fields of PK's be added
487 ,   p_value	   IN  BOOLEAN := FALSE
488 
489     -- Use this table to generate parameters
490     -- else use the pk_attribute table
491 ,   p_attr_tbl	   IN  Attribute_Tbl_Type :=
492 		       G_MISS_ATTR_TBL
493 );
494 
495 PROCEDURE Call_Param_PK
496 (   p_file	IN  UTL_FILE.file_type
497 ,   p_param	IN  VARCHAR2 := NULL
498 ,   p_val	IN  VARCHAR2 := NULL
499 ,   p_level	IN  NUMBER := 1
500 ,   p_rpad	IN  NUMBER := 30
501 ,   p_first	IN  BOOLEAN := FALSE
502 );
503 
504 PROCEDURE Add_Savepoint
505 (   p_file	IN  UTL_FILE.file_type
506 ,   p_name	IN  VARCHAR2
507 ,   p_level	IN  NUMBER := 1
508 );
509 
510 PROCEDURE Add_Rollback
511 (   p_file	IN  UTL_FILE.file_type
512 ,   p_name	IN  VARCHAR2
513 ,   p_level	IN  NUMBER := 1
514 );
515 
516 PROCEDURE Load_Constants
517 (   p_entity_name	    IN	VARCHAR2
518 );
519 
520 PROCEDURE End_If
521 (   p_file	IN  UTL_FILE.file_type
522 ,   p_level	IN  NUMBER := 1
523 );
524 
525 PROCEDURE Add_Then
526 (   p_file	IN  UTL_FILE.file_type
527 ,   p_level	IN  NUMBER := 1
528 );
529 
530 PROCEDURE Add_Is
531 (   p_file	IN  UTL_FILE.file_type
532 ,   p_level	IN  NUMBER := 0
533 );
534 
535 PROCEDURE Add_Begin
536 (   p_file	IN  UTL_FILE.file_type
537 ,   p_level	IN  NUMBER := 0
538 );
539 
540 PROCEDURE Add_Else
541 (   p_file	IN  UTL_FILE.file_type
542 ,   p_level	IN  NUMBER := 1
543 );
544 
545 PROCEDURE End_Loop
546 (   p_file	IN  UTL_FILE.file_type
547 ,   p_level	IN  NUMBER := 1
548 );
549 
550 FUNCTION Get_Name_In
551 (   p_attr_rec	    IN	Attribute_Rec_type
552 ,   p_block_name    IN	VARCHAR2
553 )
554 RETURN VARCHAR2;
555 
556 PROCEDURE Add_Copy
557 (   p_file	    IN	UTL_FILE.file_type
558 ,   p_source	    IN	VARCHAR2
559 ,   p_dest	    IN	VARCHAR2
560 ,   p_type	    IN	VARCHAR2 := G_TYPE_CHAR
561 ,   p_level	    IN	NUMBER := 1
562 );
563 
564 PROCEDURE IDL_Comment
565 (   p_file	    IN  UTL_FILE.file_type
566 ,   p_comment	    IN  VARCHAR2
567 ,   p_level	    IN  NUMBER := 1
568 ,   p_line_before   IN	BOOLEAN := TRUE
569 ,   p_line_after    IN	BOOLEAN := TRUE
570 );
571 
572 PROCEDURE IDL_Header
573 (   p_file	    IN  UTL_FILE.file_type
574 ,   p_filename	    IN  VARCHAR2
575 ,   p_object_name   IN  VARCHAR2
576 );
577 
578 FUNCTION Strip_Underscore
579 (   p_string	    IN	VARCHAR2
580 )
581 RETURN VARCHAR2 ;
582 
583 PROCEDURE Strip_Entities;
584 
585 FUNCTION Strip_Attributes
586 (   p_attr_tbl	    IN	Attribute_Tbl_Type
587 )
588 RETURN Attribute_Tbl_Type;
589 
590 PROCEDURE IDL_Parameter
591 (   p_file	IN  UTL_FILE.file_type
592 ,   p_param	IN  VARCHAR2
593 ,   p_mode	IN  VARCHAR2 := 'in'
594 ,   p_type	IN  VARCHAR2
595 ,   p_level	IN  NUMBER := 1
596 ,   p_first	IN  BOOLEAN := FALSE
597 );
598 
599 FUNCTION Get_Attr_Values
600 (   p_attr_code	    IN	VARCHAR2
601 ) RETURN Attribute_Tbl_Type;
602 
603 PROCEDURE Get_Api_Parameters
604 (   p_file	    IN  UTL_FILE.file_type
605 ,   p_product	    IN	VARCHAR2
606 ,   p_object	    IN	VARCHAR2
607 ,   p_name	    IN  VARCHAR2
608 ,   p_type	    IN  VARCHAR2 := G_API_TYPE_PVT
609 ,   p_entity_tbl    IN	Entity_Tbl_Type
610 );
611 
612 PROCEDURE Null_Or_Missing
613 (  p_file		IN  UTL_FILE.file_type
614 ,  p_attribute		IN  attribute_rec_type
615 ,  p_prefix_text	IN  VARCHAR2 := NULL
616 ,  p_not		IN  BOOLEAN := TRUE
617 ,  p_and		IN  BOOLEAN := TRUE
618 ,  p_level		IN  NUMBER  := 1
619 ,  p_first		IN  BOOLEAN := FALSE
620 );
621 
622 PROCEDURE Load_Entity_Attributes
623 (   p_entity_rec    IN  Entity_Rec_Type
624 );
625 
626 PROCEDURE Load_Entity_Attribute_Values
627 (   p_entity_rec    IN  Entity_Rec_Type
628 );
629 
630 -- The function returns true if
631 -- ENTITY AT CURRENT INDEX
632 -- OR
633 -- ANY PARENT OF CURRENT INDEX
634 -- is a multiple
635 
636 FUNCTION Multiple_Branch
637 (   p_index	    IN	NUMBER
638 )   RETURN BOOLEAN;
639 
640 FUNCTION Multiple_Branch
641 (   p_entity_name    IN  VARCHAR2
642 ) RETURN BOOLEAN;
643 
644 
645 FUNCTION Convert_Entity_Rec_Type
646 (   p_runtime_entity_rec	    IN	FND_API.Entity_Rec_Type
647 ) RETURN OE_GENERATE.Entity_Rec_Type;
648 
649 FUNCTION Convert_Entity_Tbl_Type
650 (   p_runtime_entity_tbl	    IN	FND_API.Entity_Tbl_Type
651 ) RETURN OE_GENERATE.Entity_Tbl_Type;
652 
653 END OE_GENERATE;