DBA Data[Home] [Help]

PACKAGE BODY: APPS.BIM_EDW_OPPORTUNITIES_M_SIZE

Source


1 PACKAGE BODY BIM_EDW_OPPORTUNITIES_M_SIZE AS
2 /* $Header: bimszopb.pls 115.0 2001/03/14 12:03:23 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 AS_LEAD_LINES_ALL OPL ,
16 	AS_LEADS_ALL OPH ,
17 	EDW_LOCAL_INSTANCE INST
18 	WHERE
19 	OPH.LEAD_ID = OPL.LEAD_ID AND ( (OPH.LAST_UPDATE_DATE > TO_DATE
20 	('1000/01/01',
21 	 'YYYY/MM/DD')) OR (OPL.LAST_UPDATE_DATE > TO_DATE('1000/01/01',
22 	 'YYYY/MM/DD')) ) AND ( OPH.DELETED_FLAG IS NULL OR OPH.DELETED_FLAG <> 'Y' )
23         and oph.last_update_date between
24         p_from_date  and  p_to_date
25         );
26 
27 
28 BEGIN
29 
30   dbms_output.enable(1000000);
31 
32   OPEN c_cnt_rows;
33        FETCH c_cnt_rows INTO p_num_rows;
34   CLOSE c_cnt_rows;
35 
36     dbms_output.put_line('The number of rows is: ' || to_char(p_num_rows));
37 END;  -- procedure cnt_rows.
38 
39 
40 PROCEDURE est_row_len(p_from_date DATE,
41                       p_to_date DATE,
42                       p_avg_row_len OUT NUMBER) IS
43 
44  x_date                 NUMBER := 7;
45  x_total                NUMBER := 0;
46  x_constant             NUMBER := 6;
47  X_LEAD_LINE_ID		NUMBER;
48  X_LEAD_ID   		NUMBER;
49  X_INSTANCE NUMBER;
50 
51 
52   CURSOR c_1 IS
53 	SELECT
54 	avg(nvl(vsize( LEAD_LINE_ID ), 0))
55         FROM AS_LEAD_LINES_ALL;
56 
57 
58   CURSOR c_2 IS
59 	select
60 	 avg(nvl(vsize(INSTANCE_CODE), 0))
61 	 from EDW_LOCAL_INSTANCE ;
62 
63   CURSOR c_3 IS
64 	SELECT
65 	avg(nvl(vsize( LEAD_ID ), 0))
66         FROM AS_LEADS_ALL
67         where last_update_date between
68         p_from_date  and  p_to_date;
69 
70 
71   BEGIN
72 
73     dbms_output.enable(1000000);
74 
75     OPEN c_1;
76       FETCH c_1 INTO
77 	 X_LEAD_LINE_ID   ;
78 
79     CLOSE c_1;
80 
81     x_total := 5  +
82 		4*ceil(	 X_LEAD_LINE_ID +1);
83 
84 
85     OPEN c_2;
86       FETCH c_2 INTO  x_INSTANCE;
87     CLOSE c_2;
88 
89     OPEN c_3;
90       FETCH c_3 INTO
91 	 X_LEAD_ID   ;
92 
93     CLOSE c_3;
94 
95     x_total := 2*(x_total +
96 		5*ceil(x_INSTANCE + 1) +
97 		2*ceil(x_LEAD_ID + 1)) +
98     		15*(x_constant + 1);
99 
100     -- dbms_output.put_line('     ');
101     dbms_output.put_line('The average row length is : ' || to_char(x_total));
102 
103   p_avg_row_len := x_total;
104 
105   END;  -- procedure est_row_len.
106 
107 END;  -- package body BIM_EDW_OPPORTUNITIES_M_SIZE