DBA Data[Home] [Help]

PACKAGE: APPS.CN_UTILS

Source


1 PACKAGE cn_utils AUTHID CURRENT_USER AS
2 -- $Header: cnsyutls.pls 120.3 2005/09/08 10:55:59 ymao ship $
3 
4 
5 
6   --+
7   -- Public types and variables
8   --+
9 
10   -- Type for passing code text and indentation info
11   TYPE code_type IS RECORD (
12      object_id	NUMBER,
13      line	INTEGER,
14      indent	INTEGER,
15      text	VARCHAR2(32700) );
16 
17   TYPE clob_code_type IS RECORD (
18      object_id	NUMBER,
19      line	INTEGER,
20      indent	INTEGER,
21      text	CLOB );
22 
23   --+
24   -- Public functions and procedures
25   --+
26 
30   --+
27 PROCEDURE set_org_id(p_org_id IN NUMBER);
28 PROCEDURE unset_org_id;
29 
31   -- Procedure Name
32   --   delete_module
33   -- Purpose
34   --   Deletes old entries from cn_source and cn_mod_obj_depends
35   -- History
36   --   22-APR-94		Devesh Khatu		Created
37   --+
38   PROCEDURE delete_module (x_module_id	      cn_modules.module_id%TYPE,
39 			               x_package_spec_id  cn_objects.object_id%TYPE,
40 			               x_package_body_id  cn_objects.object_id%TYPE,
41                            p_org_id           NUMBER) ;
42 
43   --+
44   -- Procedure Name
45   --   init_code
46   -- Purpose
47   --   Initializes code.text, code.indent, code.line for a code_object.
48   -- History
49   --   18-NOV-93		Devesh Khatu		Created
50   --+
51 
52   PROCEDURE init_code	(
53 	    X_object_id     cn_objects.object_id%TYPE,
54 	    code    IN OUT NOCOPY  cn_utils.code_type);
55 
56   --+
57   -- Procedure Name
58   --   init_code
59   -- Purpose
60   --   Initializes code.text, code.indent, code.line for a code_object.
61   -- History
62   --   		RK		Created
63   --+
64 
65   PROCEDURE init_code	(
66 	    X_object_id     cn_objects.object_id%TYPE,
67 	    code    IN OUT NOCOPY  cn_utils.clob_code_type);
68 
69 
70   --+
71   -- Procedure Name
72   --   indent
73   -- Purpose
74   --   updates code.indent depending on the nesting level
75   -- History
76   --   18-NOV-93		Devesh Khatu		Created
77   --+
78   PROCEDURE indent (
79 	code	IN OUT NOCOPY cn_utils.code_type,
80 	nesting_level	NUMBER);
81 
82   --+
83   -- Procedure Name
84   --   indent
85   -- Purpose
86   --   updates code.indent depending on the nesting level
87   -- History
88   --   		RK		Created
89   --+
90   PROCEDURE indent (
91 	code	IN OUT NOCOPY cn_utils.clob_code_type,
92 	nesting_level	NUMBER);
93 
94 
95   --+
96   -- Procedure Name
97   --   unindent
98   -- Purpose
99   --   updates code.unindent depending on the nesting level
100   -- History
101   --   18-NOV-93		Devesh Khatu		Created
102   --+
103   PROCEDURE unindent (
104 	code	IN OUT NOCOPY cn_utils.code_type,
105 	nesting_level	NUMBER);
106 
107 
108   --+
109   -- Procedure Name
110   --   unindent
111   -- Purpose
112   --   updates code.unindent depending on the nesting level
113   -- History
114   --   18-NOV-93		RK		Created
115   --+
116   PROCEDURE unindent (
117 	code	IN OUT NOCOPY cn_utils.clob_code_type,
118 	nesting_level	NUMBER);
119 
120 
121   --+
122   -- Procedure Name
123   --   append
124   -- Purpose
125   --   append a string to code.text
126   -- History
127   --   18-NOV-93		Devesh Khatu		Created
128   --+
129   PROCEDURE append (code IN OUT NOCOPY cn_utils.code_type, str2 VARCHAR2);
130 
131 
132   --+
133   -- Procedure Name
134   --   append
135   -- Purpose
136   --   append a string to code.text
137   -- History
138   --   18-NOV-93		RK		Created
139   --+
140   PROCEDURE append (code IN OUT NOCOPY cn_utils.clob_code_type, str2 VARCHAR2);
141 
142 
143   --+
144   -- Procedure Name
145   --   append
146   -- Purpose
147   --   append a string to code.text
148   -- History
149   --   18-NOV-93		RK		Created
150   --+
151   PROCEDURE append (code IN OUT NOCOPY cn_utils.clob_code_type,expr clob,str2 VARCHAR2);
152 
153 
154   --+
155   -- Procedure Name
156   --   appind
157   -- Purpose
158   --   append a string to code.text after indenting code.indent spaces
159   -- History
160   --   18-NOV-93		Devesh Khatu		Created
161   --+
162   PROCEDURE appind (code IN OUT NOCOPY cn_utils.code_type, str2 VARCHAR2);
163 
164 
165   --+
166   -- Procedure Name
167   --   appind
168   -- Purpose
169   --   append a string to code.text after indenting code.indent spaces
170   -- History
171   --   18-NOV-93		RK		Created
172   --+
173   PROCEDURE appind (code IN OUT NOCOPY cn_utils.clob_code_type, str2 VARCHAR2);
174 
175 
176   --+
177   -- Procedure Name
178   --   appendcr
179   -- Purpose
180   --   append a string to code.text along with a cr
181   -- History
182   --   18-NOV-93		Devesh Khatu		Created
183   --+
184   PROCEDURE appendcr (code IN OUT NOCOPY cn_utils.code_type, str2 VARCHAR2);
185 
186 
187   --+
188   -- Procedure Name
189   --   appendcr
190   -- Purpose
191   --   append a string to code.text along with a cr
192   -- History
193   --   18-NOV-93		RK		Created
194   --+
195   PROCEDURE appendcr (code IN OUT NOCOPY cn_utils.clob_code_type, str2 VARCHAR2);
196 
197 
198   --+
199   -- Procedure Name
200   --   appendcr
201   -- Purpose
202   --   appends a cr to code.text
203   -- History
204   --   18-NOV-93		Devesh Khatu		Created
205   --+
206   PROCEDURE appendcr(code IN OUT NOCOPY cn_utils.code_type);
207 
208 
209     --+
210     -- Procedure Name
211     --   appendcr
212     -- Purpose
213     --   appends a cr to code.text
214     -- History
215     --   18-NOV-93		RK		Created
216     --+
217   PROCEDURE appendcr(code IN OUT NOCOPY cn_utils.clob_code_type);
218 
219 
220   --+
221   -- Procedure Name
222   --   appindcr
223   -- Purpose
224   --   append a string to code.text along with a cr, after indenting
225   --   code.indent spaces, and
226   -- History
227   --   18-NOV-93		Devesh Khatu		Created
228   --+
229   PROCEDURE appindcr(code IN OUT NOCOPY cn_utils.code_type, str2 VARCHAR2);
230 
231     --+
232     -- Procedure Name
233     --   appindcr
234     -- Purpose
235     --   append a string to code.text along with a cr, after indenting
236     --   code.indent spaces, and
237     -- History
238     --   18-NOV-93		RK		Created
239     --+
240   PROCEDURE appindcr(code IN OUT NOCOPY cn_utils.clob_code_type, str2 VARCHAR2);
241 
242 
243 
244   --+
245   -- Procedure Name
246   --   strip
247   -- Purpose
248   --   strip code.text of its trailing i characters
249   -- History
250   --   18-NOV-93		Devesh Khatu		Created
251   --+
252   PROCEDURE strip (code IN OUT NOCOPY cn_utils.code_type, i NUMBER);
253 
254   --+
255   -- Procedure Name
256   --   strip
257   -- Purpose
258   --   strip code.text of its trailing i characters
259   -- History
260   --   18-NOV-93		RK		Created
261   --+
262   --PROCEDURE strip (code IN OUT cn_utils.clob_code_type, i NUMBER);
263 
264 
265   --+
266   -- Procedure Name
267   --   strip_prev
268   -- Purpose
269   --   strip previous code.text of its trailing i characters after
270   --   it has been written out to cn_source.  i number of bytes are
271   --   removed at the end of the line, before the CR.
272   -- History
273   --   24-AUG-95		Amy Erickson		Created
274   --+
275   PROCEDURE strip_prev (code IN OUT NOCOPY cn_utils.code_type, i NUMBER);
276 
277   --+
278   -- Procedure Name
279   --   strip_prev
280   -- Purpose
281   --   strip previous code.text of its trailing i characters after
282   --   it has been written out to cn_source.  i number of bytes are
283   --   removed at the end of the line, before the CR.
284   -- History
285   --   24-AUG-95		RK		Created
286   --+
287   --PROCEDURE strip_prev (code IN OUT cn_utils.clob_code_type, i NUMBER);
288 
289 
290   --+
291   -- Procedure Name
292   --   dump_line
293   -- Purpose
294   --   Dump generated code line into cn_source table
295   -- History
296   --   18-NOV-93		Devesh Khatu		Created
297   --+
298   PROCEDURE dump_line ( code  IN OUT NOCOPY cn_utils.code_type) ;
299 
300   --+
301   -- Procedure Name
302   --   dump_line
303   -- Purpose
304   --   Dump generated code line into cn_source table
305   -- History
306   --   18-NOV-93		RK		Created
307   --+
308   PROCEDURE dump_line ( code  IN OUT NOCOPY cn_utils.clob_code_type) ;
309 
310   --+
311   -- Procedure Name
312   --   record_process_start
313   -- Purpose
314   --   Generates some text to record the start of a process
315   -- History
316   --   17-NOV-93		Devesh Khatu		Created
317   --   22-MAR-94		Devesh Khatu		Modified
318   --+
319   PROCEDURE record_process_start (
320 	audit_type	VARCHAR2,
321 	audit_desc	VARCHAR2,
322 	parent_audit_id VARCHAR2,
323 	code	IN OUT NOCOPY cn_utils.code_type);
324 
325   --+
326   -- Procedure Name
327   --   record_process_success
328   -- Purpose
329   --   Generate some boilerplate text to record success of the process
330   -- History
331   --   22-MAR-94		Devesh Khatu		Created
332   --+
333   PROCEDURE record_process_success (
334 	message 	VARCHAR2,
335 	code	IN OUT NOCOPY cn_utils.code_type);
336 
337   --+
338   -- Procedure Name
339   --   record_process_exception
340   -- Purpose
341   --   Generates some boilerplate text to record exception of the process
342   -- History
343   --   22-MAR-94		Devesh Khatu		Created
344   --+
345   PROCEDURE record_process_exception (
346 	procedure_name		cn_obj_procedures_v.name%TYPE,
347 	savepoint_name		VARCHAR2,
348 	code	IN OUT NOCOPY 	cn_utils.code_type);
349 
350 
351   --+
352   -- Procedure Name
353   --   record_process_exception
354   -- Purpose
355   --   Generates some boilerplate text to record exception of the process
356   -- History
357   --   22-MAR-94		RK		Created
358   --+
359   PROCEDURE record_process_exception (
360 	procedure_name		cn_obj_procedures_v.name%TYPE,
361 	savepoint_name		VARCHAR2,
362 	code	IN OUT NOCOPY 	cn_utils.clob_code_type);
363 
364 
365 
366   --+
367   -- Procedure Name
368   --   pkg_init
369   -- Purpose
370   --   Create a new package and do initialization
371   -- History
372   --   18-NOV-93		Devesh Khatu		Created
373   --+
374   PROCEDURE pkg_init (
375 	module_id		  cn_modules.module_id%TYPE,
376 	package_name		  cn_obj_packages_v.name%TYPE,
377 	package_org_append        VARCHAR2,
378 	package_type		  cn_obj_packages_v.package_type%TYPE,
379 	package_spec_id   IN OUT NOCOPY  cn_obj_packages_v.package_id%TYPE,
380 	package_body_id   IN OUT NOCOPY  cn_obj_packages_v.package_id%TYPE,
381 	package_spec_desc IN OUT NOCOPY  cn_obj_packages_v.description%TYPE,
382 	package_body_desc IN OUT NOCOPY  cn_obj_packages_v.description%TYPE,
383 	spec_code	  IN OUT NOCOPY  cn_utils.code_type,
384 	body_code	  IN OUT NOCOPY  cn_utils.code_type);
385 
386   --+
387   -- Procedure Name
388   --   pkg_end
389   -- Purpose
390   --   End a package
391   -- History
392   --   18-NOV-93		Devesh Khatu		Created
393   --+
394   PROCEDURE pkg_end (
395 	package_name		cn_obj_packages_v.name%TYPE,
396 	package_spec_id 	cn_obj_packages_v.package_id%TYPE,
397 	package_body_id 	cn_obj_packages_v.package_id%TYPE,
398 	spec_code	IN OUT NOCOPY cn_utils.code_type,
399 		     body_code	IN OUT NOCOPY cn_utils.code_type);
400 
401 
402   --+
403     -- Procedure Name
404     --   pkg_init
405     -- Purpose
406     --   Create a new package and do initialization
407     -- History
408     --   18-NOV-93		RK		Created
409     --+
410     /*PROCEDURE pkg_init (
411   	module_id		  cn_modules.module_id%TYPE,
412   	package_name		  cn_obj_packages_v.name%TYPE,
413   	package_org_append        VARCHAR2,
414   	package_type		  cn_obj_packages_v.package_type%TYPE,
415   	package_spec_id   IN OUT NOCOPY  cn_obj_packages_v.package_id%TYPE,
416   	package_body_id   IN OUT NOCOPY  cn_obj_packages_v.package_id%TYPE,
417   	package_spec_desc IN OUT NOCOPY  cn_obj_packages_v.description%TYPE,
418   	package_body_desc IN OUT NOCOPY  cn_obj_packages_v.description%TYPE,
419   	spec_code	  IN OUT NOCOPY  cn_utils.clob_code_type,
420   	body_code	  IN OUT NOCOPY  cn_utils.clob_code_type);*/
421 
422     --+
423     -- Procedure Name
424     --   pkg_end
425     -- Purpose
426     --   End a package
427     -- History
428     --   18-NOV-93		RK		Created
429     --+
430     PROCEDURE pkg_end (
431   	package_name		cn_obj_packages_v.name%TYPE,
432   	package_spec_id 	cn_obj_packages_v.package_id%TYPE,
433   	package_body_id 	cn_obj_packages_v.package_id%TYPE,
434   	spec_code	IN OUT NOCOPY cn_utils.clob_code_type,
435   		     body_code	IN OUT NOCOPY cn_utils.clob_code_type);
436 
437   --+
438   -- Procedure Name
439   --   overloaded pkg_init
440   -- Purpose
441   --   Create a new package and do initialization
442   -- History
443   --   18-NOV-93		Devesh Khatu		Created
444   --+
445   PROCEDURE pkg_init (
446 	module_id		  cn_modules.module_id%TYPE,
447 	package_name		  cn_obj_packages_v.name%TYPE,
448 	package_org_append        VARCHAR2,
449 	package_type		  cn_obj_packages_v.package_type%TYPE,
450 	package_flag              VARCHAR2,
451 	package_spec_id   IN OUT NOCOPY  cn_obj_packages_v.package_id%TYPE,
452 	package_body_id   IN OUT NOCOPY  cn_obj_packages_v.package_id%TYPE,
453 	package_spec_desc IN OUT NOCOPY  cn_obj_packages_v.description%TYPE,
454 	package_body_desc IN OUT NOCOPY  cn_obj_packages_v.description%TYPE,
455 	spec_code	  IN OUT NOCOPY  cn_utils.code_type,
456 	body_code	  IN OUT NOCOPY  cn_utils.code_type);
457 
458 
459     --+
460     -- Procedure Name
461     --   overloaded pkg_init
462     -- Purpose
463     --   Create a new package and do initialization
464     -- History
465     --   18-NOV-93		RK		Created
466     --+
467     PROCEDURE pkg_init (
468   	module_id		  cn_modules.module_id%TYPE,
469   	package_name		  cn_obj_packages_v.name%TYPE,
470   	package_org_append        VARCHAR2,
471   	package_type		  cn_obj_packages_v.package_type%TYPE,
472   	package_flag              VARCHAR2,
473   	package_spec_id   IN OUT NOCOPY  cn_obj_packages_v.package_id%TYPE,
474   	package_body_id   IN OUT NOCOPY  cn_obj_packages_v.package_id%TYPE,
475   	package_spec_desc IN OUT NOCOPY  cn_obj_packages_v.description%TYPE,
476   	package_body_desc IN OUT NOCOPY  cn_obj_packages_v.description%TYPE,
477   	spec_code	  IN OUT NOCOPY  cn_utils.clob_code_type,
478 	body_code	  IN OUT NOCOPY  cn_utils.clob_code_type);
479 
480 
481   --+
482   -- Procedure Name
483   --   overloaded pkg_end for use in formula generation
484   -- Purpose
485   --   End a package
486   -- History
487   --   18-NOV-93		Devesh Khatu		Created
488   --+
489   PROCEDURE pkg_end (
490 	package_name		cn_obj_packages_v.name%TYPE,
491 	spec_code	IN OUT NOCOPY cn_utils.code_type,
492 	body_code	IN OUT NOCOPY cn_utils.code_type);
493 
494 
495     --+
496     -- Procedure Name
497     --   overloaded pkg_end for use in formula generation
498     -- Purpose
499     --   End a package
500     -- History
501     --   18-NOV-93		RK		Created
502     --+
503     PROCEDURE pkg_end (
504   	package_name		cn_obj_packages_v.name%TYPE,
505   	spec_code	IN OUT NOCOPY cn_utils.clob_code_type,
506 	body_code	IN OUT NOCOPY cn_utils.clob_code_type);
507 
508 
509 
510   --+
511   -- Procedure Name
512   --   pkg_end_boilerplate
513   -- Purpose
514   --+
515   -- History
516   --+
517   --+
518   PROCEDURE pkg_end_boilerplate (
519 	code		IN OUT NOCOPY cn_utils.code_type,
520 	object_type		cn_obj_packages_v.object_type%TYPE);
521 
522 
523 
524     --+
525     -- Procedure Name
526     --   pkg_end_boilerplate
527     -- Purpose
528     --+
529     -- History
530     --+   CLOB
531     --+
532     PROCEDURE pkg_end_boilerplate (
533   	code		IN OUT NOCOPY cn_utils.clob_code_type,
534 	object_type		cn_obj_packages_v.object_type%TYPE);
535 
536 
537 
538 
539 
540   --+
541   -- Procedure Name
542   --   proc_init
543   -- Purpose
544   --   Generate procedure init code
545   -- History
546   --   17-NOV-93		Devesh Khatu		Created
547   --+
548   PROCEDURE proc_init (
549 	procedure_name		cn_obj_procedures_v.name%TYPE,
550 	description		cn_obj_procedures_v.description%TYPE,
551 	parameter_list		cn_obj_procedures_v.parameter_list%TYPE,
552 	procedure_type		cn_obj_procedures_v.procedure_type%TYPE,
553 	return_type		cn_obj_procedures_v.return_type%TYPE,
554 	package_id		cn_obj_procedures_v.package_id%TYPE,
555 	repository_id		cn_obj_procedures_v.repository_id%TYPE,
556 	spec_code	IN OUT NOCOPY cn_utils.code_type,
557 	body_code	IN OUT NOCOPY cn_utils.code_type);
558 
559 
560   --+
561   -- Procedure Name
562   --   proc_init
563   -- Purpose
564   --   Generate procedure init code
565   -- History
566   --   17-NOV-93		RK		Created
567   --+
568   PROCEDURE proc_init (
569 	procedure_name		cn_obj_procedures_v.name%TYPE,
570 	description		cn_obj_procedures_v.description%TYPE,
571 	parameter_list		cn_obj_procedures_v.parameter_list%TYPE,
572 	procedure_type		cn_obj_procedures_v.procedure_type%TYPE,
573 	return_type		cn_obj_procedures_v.return_type%TYPE,
574 	package_id		cn_obj_procedures_v.package_id%TYPE,
575 	repository_id		cn_obj_procedures_v.repository_id%TYPE,
576 	spec_code	IN OUT NOCOPY cn_utils.clob_code_type,
577 	body_code	IN OUT NOCOPY cn_utils.clob_code_type);
578 
579 
580   --+
581   -- Procedure Name
582   --   proc_begin
583   -- Purpose
584   --   Generate procedure begin code
585   -- History
586   --   17-NOV-93		Devesh Khatu		Created
587   --+
588   PROCEDURE proc_begin (
589 	procedure_name		cn_obj_procedures_v.name%TYPE,
590 	generate_debug_pipe	VARCHAR2,
591 	code	IN OUT NOCOPY 	cn_utils.code_type);
592 
593     --+
594     -- Procedure Name
595     --   proc_begin
596     -- Purpose
597     --   Generate procedure begin code
598     -- History
599     --   17-NOV-93		RK		Created
600     --+
601     PROCEDURE proc_begin (
602   	procedure_name		cn_obj_procedures_v.name%TYPE,
603   	generate_debug_pipe	VARCHAR2,
604 	code	IN OUT NOCOPY 	cn_utils.clob_code_type);
605 
606 
607   --+
608   -- Procedure Name
609   --   proc_end
610   -- Purpose
611   --   Generates procedure end code
612   -- History
613   --   17-NOV-93		Devesh Khatu		Created
614   --+
615   PROCEDURE proc_end (
616 	procedure_name		cn_obj_procedures_v.name%TYPE,
617 	exception_flag		VARCHAR2,
618 	code	IN OUT NOCOPY 	cn_utils.code_type);
619 
620   --+
621   -- Procedure Name
622   --   proc_end
623   -- Purpose
624   --   Generates procedure end code
625   -- History
626   --   17-NOV-93		RK		Created
627   --+
628   PROCEDURE proc_end (
629 	procedure_name		cn_obj_procedures_v.name%TYPE,
630 	exception_flag		VARCHAR2,
631 	code	IN OUT NOCOPY 	cn_utils.clob_code_type);
632 
633 
634   --+
635   -- Function Name
636   --   get_proc_audit_id
637   -- Purpose
638   --   returns a unique proc_audit_id from the sequence cn_process_audits_s
639   -- History
640   --   18-NOV-93		Devesh Khatu		Created
641   --+
642   FUNCTION get_proc_audit_id
643 	RETURN cn_process_audits.process_audit_id%TYPE;
644 
645   --+
646   -- Function Name
647   --   get_object_id
648   -- Purpose
649   --   returns a unique object_id from the sequence cn_objects_s
650   -- History
651   --   18-NOV-93		Devesh Khatu		Created
652   --+
653   FUNCTION get_object_id
654 	RETURN cn_objects.object_id%TYPE;
655 
656   --+
657   -- Function Name
658   --   get_mod_obj_depends_id
659   -- Purpose
660   --   returns a unique mod_obj_depends_id
661   -- History
662   --   11-JUN-94		Devesh Khatu		Created
663   --+
664   FUNCTION get_mod_obj_depends_id
665 	RETURN cn_mod_obj_depends.mod_obj_depends_id%TYPE;
666 
667   --+
668   -- Function Name
669   --   get_object_name
670   -- Purpose
671   --   returns the object_name from the cn_objects table, given the object id.
672   -- History
673   --   18-NOV-93		Devesh Khatu		Created
674   --+
675   FUNCTION get_object_name (X_object_id cn_objects.object_id%TYPE, p_org_id IN NUMBER)
676 	RETURN cn_objects.name%TYPE;
677 
678   --+
679   -- Function Name
680   --   get_repository
681   -- Purpose
682   --   returns the repository_id corresponding to the given module_id
683   -- History
684   --   18-NOV-93		Devesh Khatu		Created
685   --+
686   FUNCTION get_repository (X_module_id	cn_modules.module_id%TYPE, p_org_id IN NUMBER)
687 	RETURN cn_repositories.repository_id%TYPE;
688 
689 
690   -- Function Name
691   --   get_event
692   -- Purpose
693   --   returns the event_id corresponding to the given module_id
694   -- History
695   --   08-JUN-94		Devesh Khatu		Created
696   --+
697   FUNCTION get_event (X_module_id	cn_modules.module_id%TYPE, p_org_id  IN NUMBER)
698 	RETURN cn_events.event_id%TYPE;
699 
700   --+
701   -- Procedure Name
702   --   find_object
703   -- Purpose
704   --   Find an object in cn_objects
705   -- History
706   --   01-08-96 		Amy Erickson		Created
707   --+
708   PROCEDURE find_object (
709 	x_name			cn_objects.name%TYPE,
710 	x_object_type		cn_objects.object_type%TYPE,
711 	x_object_id	IN OUT NOCOPY cn_objects.object_id%TYPE,
712 	x_description	IN OUT NOCOPY cn_objects.description%TYPE,
713     p_org_id        IN NUMBER) ;
714 
715   --+
716   -- Procedure Name
717   --   compute_hierarchy_levels
718   -- Purpose
719   --   This procedure orders nodes in cn_hierarchy_nodes by computing absolute
720   --   hierarchy levels using data from the cn_hierarchy_edges table.
721   -- History
722   --   22-JUN-94		Devesh Khatu		Created
723   --+
724   PROCEDURE compute_hierarchy_levels (
725 	X_dim_hierarchy_id	cn_dim_hierarchies.dim_hierarchy_id%TYPE);
726 
727   --+
728   -- Procedure Name
729   --   next_period
730   -- Purpose
731   --   get the next period
732   -- History
733   --   24-Nov-98	Angela Chung		Created
734   --+
735    FUNCTION next_period (x_period_id NUMBER,p_org_id        IN NUMBER)
736    RETURN cn_periods.period_id%TYPE;
737 
738 END cn_utils;