[Home] [Help]
PACKAGE BODY: APPS.BIM_EDW_LEADS_M_SIZE
Source
1 PACKAGE BODY BIM_EDW_LEADS_M_SIZE AS
2 /* $Header: bimszldb.pls 115.0 2001/03/14 12:02:45 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_SALES_LEAD_LINES ASLL ,
16 AS_SALES_LEADS ASL ,
17 EDW_LOCAL_INSTANCE INST
18 WHERE ASLL.SALES_LEAD_ID = ASL.SALES_LEAD_ID AND
19 ( (ASL.LAST_UPDATE_DATE > TO_DATE('1000/01/01', 'YYYY/MM/DD') )
20 OR (ASLL.LAST_UPDATE_DATE > TO_DATE('1000/01/01', 'YYYY/MM/DD') ) )
21 AND ( ASL.DELETED_FLAG IS NULL OR ASL.DELETED_FLAG <> 'Y' )
22 and
23 asl.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_SALES_LEAD_ID NUMBER;
48 X_SALES_LEAD_LINE_ID NUMBER;
49 X_INSTANCE NUMBER;
50
51
52 CURSOR c_1 IS
53 SELECT
54 avg(nvl(vsize( ASLL.SALES_LEAD_LINE_ID ), 0)),
55 avg(nvl(vsize( ASL.SALES_LEAD_ID), 0))
56 FROM AS_SALES_LEAD_LINES ASLL ,
57 AS_SALES_LEADS ASL ,
58 EDW_LOCAL_INSTANCE INST
59 WHERE ASLL.SALES_LEAD_ID = ASL.SALES_LEAD_ID AND
60 ( (ASL.LAST_UPDATE_DATE > TO_DATE('1000/01/01', 'YYYY/MM/DD') )
61 OR (ASLL.LAST_UPDATE_DATE > TO_DATE('1000/01/01', 'YYYY/MM/DD') ) )
62 AND ( ASL.DELETED_FLAG IS NULL OR ASL.DELETED_FLAG <> 'Y' )
63 AND ASL.last_update_date between
64 p_from_date and p_to_date ;
65
66
67 CURSOR c_2 IS
68 select
69 avg(nvl(vsize(INSTANCE_CODE), 0))
70 from EDW_LOCAL_INSTANCE ;
71
72
73
74 BEGIN
75
76 dbms_output.enable(1000000);
77
78 OPEN c_1;
79 FETCH c_1 INTO
80 X_SALES_LEAD_ID ,
81 X_SALES_LEAD_LINE_ID ;
82
83 CLOSE c_1;
84
85 x_total := 5 +
86 ceil( X_SALES_LEAD_ID +1) +
87 3*ceil( X_SALES_LEAD_LINE_ID +1);
88
89
90 OPEN c_2;
91 FETCH c_2 INTO x_INSTANCE;
92 CLOSE c_2;
93
94 x_total := x_total + 5*ceil(x_INSTANCE + 1);
95
96 x_total := 3*x_total + 15*(x_constant + 1);
97
98 -- dbms_output.put_line(' ');
99 dbms_output.put_line('The average row length is : ' || to_char(x_total));
100
101 p_avg_row_len := x_total;
102
103 END; -- procedure est_row_len.
104
105 END; -- package body BIM_EDW_LEADS_M_SIZE