DBA Data[Home] [Help]

PACKAGE BODY: APPS.BIM_EDW_MDCHN_M_SIZE

Source


1 PACKAGE BODY BIM_EDW_MDCHN_M_SIZE AS
2 /* $Header: bimszmcb.pls 115.0 2001/03/14 12:02:58 pkm ship       $*/
3 
4 PROCEDURE cnt_rows(p_from_date DATE,
5                    p_to_date DATE,
6                    p_num_rows OUT NUMBER) IS
7 
8 
9 -- v_num_rows        NUMBER := 0;
10 
11 CURSOR c_cnt_rows IS
12    select sum(cnt)
13    from (
14 	select count(*) cnt
15 	from ams_media_vl ame,
16 	edw_local_instance inst
17         where ame.last_update_date between
18         p_from_date  and  p_to_date
19 	);
20 
21 
22 BEGIN
23 
24   dbms_output.enable(1000000);
25 
26   OPEN c_cnt_rows;
27        FETCH c_cnt_rows INTO p_num_rows;
28   CLOSE c_cnt_rows;
29 
30     dbms_output.put_line('The number of rows is: ' || to_char(p_num_rows));
31 END;  -- procedure cnt_rows.
32 
33 
34 PROCEDURE est_row_len(p_from_date DATE,
35                       p_to_date DATE,
36                       p_avg_row_len OUT NUMBER) IS
37 
38  x_date                 number := 7;
39  x_total                number := 0;
40  x_constant             number := 6;
41  x_media_type_code number;
42  x_media_id number;
43  x_inbound_flag number;
44  x_enabled_flag number;
45  x_media_name number;
46  x_description number;
47 
48 
49  x_INSTANCE NUMBER;
50 
51 
52   CURSOR c_1 IS
53 	SELECT
54 	avg(nvl(vsize(media_type_code ), 0)),
55 	avg(nvl(vsize(media_id ), 0)),
56 	avg(nvl(vsize(inbound_flag ), 0)),
57 	avg(nvl(vsize(enabled_flag ), 0)),
58 	avg(nvl(vsize(media_name ), 0)),
59 	avg(nvl(vsize(description ), 0))
60         FROM ams_media_vl
61         where last_update_date between
62         p_from_date  and  p_to_date;
63 
64 
65   CURSOR c_2 IS
66 	select
67 	 avg(nvl(vsize(INSTANCE_CODE), 0))
68 	 from EDW_LOCAL_INSTANCE ;
69 
70 
71 
72   BEGIN
73 
74     dbms_output.enable(1000000);
75 
76     OPEN c_1;
77       FETCH c_1 INTO
78 	 x_media_type_code,
79 	 x_media_id,
80 	 x_inbound_flag,
81 	 x_enabled_flag,
82 	 x_media_name,
83 	 x_description;
84 
85     CLOSE c_1;
86 
87     x_total := 5  +
88 	ceil(	 x_media_type_code+1) +
89 	ceil(	 x_media_id+1) +
90 	2*ceil(	 x_inbound_flag+1) +
91 	ceil(	 x_enabled_flag+1) +
92 	2*ceil(	 x_media_name+1) +
93 	ceil(	 x_description);
94 
95     OPEN c_2;
96       FETCH c_2 INTO  x_INSTANCE;
97     CLOSE c_2;
98 
99     x_total := x_total + 3*ceil(x_INSTANCE + 1);
100     x_total := 4*x_total;
101 
102     x_total := x_total + 15*(x_constant + 1);
103 
104     -- dbms_output.put_line('     ');
105     dbms_output.put_line('The average row length is : ' || to_char(x_total));
106 
107   p_avg_row_len := x_total;
108 
109   END;  -- procedure est_row_len.
110 
111 END;  -- package body BIM_EDW_MDCHN_M_SIZE