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