DBA Data[Home] [Help]

PACKAGE BODY: APPS.BIM_EDW_EVENTS_M_SIZE

Source


1 PACKAGE BODY BIM_EDW_EVENTS_M_SIZE AS
2 /* $Header: bimszevb.pls 115.0 2001/03/14 12:01:57 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_event_offers_vl aeo ,
16 	ams_event_headers_all_b aeh ,
17 	edw_local_instance inst
18 	WHERE
19         aeo.event_header_id = aeh.event_header_id and aeo.event_level = 'MAIN'
20 	and ((aeo.last_update_date > to_date('1000/01/01', 'YYYY/MM/DD'))
21         or
22         (aeh.last_update_date > to_date('1000/01/01', 'YYYY/MM/DD')))
23 	and
24 	aeo.last_update_date between
25         p_from_date  and  p_to_date
26         UNION
27         select count(*)
28 	FROM ams_event_headers_vl aeh ,
29 	edw_local_instance inst
30 	WHERE
31 	aeh.event_level = 'MAIN' and
32         aeh.last_update_date between
33         p_from_date  and  p_to_date
34         );
35 
36 
37 BEGIN
38 
39   dbms_output.enable(1000000);
40 
41   OPEN c_cnt_rows;
42        FETCH c_cnt_rows INTO p_num_rows;
43   CLOSE c_cnt_rows;
44 
45     dbms_output.put_line('The number of rows is: ' || to_char(p_num_rows));
46 END;  -- procedure cnt_rows.
47 
48 
49 PROCEDURE est_row_len(p_from_date DATE,
50                       p_to_date DATE,
51                       p_avg_row_len OUT NUMBER) IS
52 
53  x_date                 number := 7;
54  x_total                number := 0;
55  x_constant             number := 6;
56 
57  x_event_offer_name NUMBER;
58  x_event_offer_id NUMBER;
59  x_parent_event_offer_id NUMBER;
60  x_event_header_id NUMBER;
61  x_event_level NUMBER;
62  x_event_type_code NUMBER;
63  x_user_status_id NUMBER;
64  x_last_status_date NUMBER;
65  x_system_status_code NUMBER;
66  x_timezone_id NUMBER;
67  x_reg_waitlist_pct NUMBER;
68  x_reg_overbook_pct NUMBER;
69  x_reg_minimum_capacity NUMBER;
70  x_reg_maximum_capacity NUMBER;
71  x_reg_effective_capacity NUMBER;
72  x_pricelist_line_id NUMBER;
73  x_pricelist_header_id NUMBER;
74  x_owner_user_id NUMBER;
75  x_org_id NUMBER;
76  x_inventory_item_id NUMBER;
77  x_event_location_id NUMBER;
78  x_event_duration NUMBER;
79  x_event_delivery_method_id NUMBER;
80  x_coordinator_id NUMBER;
81  x_certification_credits NUMBER;
82  x_waitlist_action_type_code NUMBER;
83  x_stream_type_code NUMBER;
84  x_source_code NUMBER;
85  x_reg_waitlist_allowed_flag NUMBER;
86  x_reg_start_time NUMBER;
87  x_reg_required_flag NUMBER;
88  x_reg_overbook_allowed_flag NUMBER;
89  x_reg_invited_only_flag NUMBER;
90  x_reg_frozen_flag NUMBER;
91  x_reg_end_time NUMBER;
92  x_reg_charge_flag NUMBER;
93  x_priority_type_code NUMBER;
94  x_partner_flag NUMBER;
95  x_overflow_flag NUMBER;
96  x_event_start_date_time NUMBER;
97  x_event_standalone_flag NUMBER;
98  x_event_required_flag NUMBER;
99  x_event_language_code NUMBER;
100  x_event_full_flag NUMBER;
101  x_event_end_date_time NUMBER;
102  x_event_duration_uom_code NUMBER;
103  x_cert_credit_type_code NUMBER;
104  x_cancellation_reason_code NUMBER;
105  x_inbound_script_name NUMBER;
106  x_email NUMBER;
107  x_phone NUMBER;
108  x_url NUMBER;
109  x_auto_register_flag NUMBER;
110  x_event_venue_id NUMBER;
111  x_reg_start_date NUMBER;
112  x_reg_minimum_req_by_date NUMBER;
113  x_reg_end_date NUMBER;
114  x_event_start_date NUMBER;
115  x_event_end_date NUMBER;
116  x_event_mktg_message NUMBER;
117  x_description NUMBER;
118  x_creation_date NUMBER;
119  x_INSTANCE NUMBER;
120 
121 
122   CURSOR c_1 IS
123 	SELECT
124 	avg(nvl(vsize(aeo.event_offer_name), 0)),
125 	avg(nvl(vsize(aeo.event_offer_id), 0)),
126 	avg(nvl(vsize(aeo.parent_event_offer_id), 0)),
127 	avg(nvl(vsize(aeo.event_header_id), 0)),
128 	avg(nvl(vsize(aeo.event_level), 0)),
129 	avg(nvl(vsize(aeo.event_type_code), 0)),
130 	avg(nvl(vsize(aeo.user_status_id), 0)),
131 	avg(nvl(vsize(aeo.last_status_date), 0)),
132 	avg(nvl(vsize(aeo.system_status_code), 0)),
133 	avg(nvl(vsize(aeo.timezone_id), 0)),
134 	avg(nvl(vsize(aeo.reg_waitlist_pct), 0)),
135 	avg(nvl(vsize(aeo.reg_overbook_pct), 0)),
136 	avg(nvl(vsize(aeo.reg_minimum_capacity), 0)),
137 	avg(nvl(vsize(aeo.reg_maximum_capacity), 0)),
138 	avg(nvl(vsize(aeo.reg_effective_capacity), 0)),
139 	avg(nvl(vsize(aeo.pricelist_line_id), 0)),
140 	avg(nvl(vsize(aeo.pricelist_header_id), 0)),
141 	avg(nvl(vsize(aeo.owner_user_id), 0)),
142 	avg(nvl(vsize(aeo.org_id), 0)),
143 	avg(nvl(vsize(aeo.inventory_item_id), 0)),
144 	avg(nvl(vsize(aeo.event_location_id), 0)),
145 	avg(nvl(vsize(aeo.event_duration), 0)),
146 	avg(nvl(vsize(aeo.event_delivery_method_id), 0)),
147 	avg(nvl(vsize(aeo.coordinator_id), 0)),
148 	avg(nvl(vsize(aeo.certification_credits), 0)),
149 	avg(nvl(vsize(aeo.waitlist_action_type_code), 0)),
150 	avg(nvl(vsize(aeo.stream_type_code), 0)),
151 	avg(nvl(vsize(aeo.source_code), 0)),
152 	avg(nvl(vsize(aeo.reg_waitlist_allowed_flag), 0)),
153 	avg(nvl(vsize(aeo.reg_start_time), 0)),
154 	avg(nvl(vsize(aeo.reg_required_flag), 0)),
155 	avg(nvl(vsize(aeo.reg_overbook_allowed_flag), 0)),
156 	avg(nvl(vsize(aeo.reg_invited_only_flag), 0)),
157 	avg(nvl(vsize(aeo.reg_frozen_flag), 0)),
158 	avg(nvl(vsize(aeo.reg_end_time), 0)),
159 	avg(nvl(vsize(aeo.reg_charge_flag), 0)),
160 	avg(nvl(vsize(aeo.priority_type_code), 0)),
161 	avg(nvl(vsize(aeo.partner_flag), 0)),
162 	avg(nvl(vsize(aeo.overflow_flag), 0)),
163 	avg(nvl(vsize(aeo.event_start_date_time), 0)),
164 	avg(nvl(vsize(aeo.event_standalone_flag), 0)),
165 	avg(nvl(vsize(aeo.event_required_flag), 0)),
166 	avg(nvl(vsize(aeo.event_language_code), 0)),
167 	avg(nvl(vsize(aeo.event_full_flag), 0)),
168 	avg(nvl(vsize(aeo.event_end_date_time), 0)),
169 	avg(nvl(vsize(aeo.event_duration_uom_code), 0)),
170 	avg(nvl(vsize(aeo.cert_credit_type_code), 0)),
171 	avg(nvl(vsize(aeo.cancellation_reason_code), 0)),
172 	avg(nvl(vsize(aeo.inbound_script_name), 0)),
173 	avg(nvl(vsize(aeo.email), 0)),
174 	avg(nvl(vsize(aeo.phone), 0)),
175 	avg(nvl(vsize(aeo.url), 0)),
176 	avg(nvl(vsize(aeo.auto_register_flag), 0)),
177 	avg(nvl(vsize(aeo.event_venue_id), 0)),
178 	avg(nvl(vsize(aeo.reg_start_date), 0)),
179 	avg(nvl(vsize(aeo.reg_minimum_req_by_date), 0)),
180 	avg(nvl(vsize(aeo.reg_end_date), 0)),
181 	avg(nvl(vsize(aeo.event_start_date), 0)),
182 	avg(nvl(vsize(aeo.event_end_date), 0)),
183 	avg(nvl(vsize(aeo.event_mktg_message), 0)),
184 	avg(nvl(vsize(aeo.event_offer_name), 0)),
185 	avg(nvl(vsize(aeo.description), 0)),
186 	avg(nvl(vsize(aeo.creation_date), 0))
187         FROM ams_event_offers_vl aeo ,
188         ams_event_headers_all_b aeh ,
189         edw_local_instance inst
190         WHERE
191         aeo.event_header_id = aeh.event_header_id and aeo.event_level = 'MAIN'
192         and ((aeo.last_update_date > to_date('1000/01/01', 'YYYY/MM/DD'))
193         or
194         (aeh.last_update_date > to_date('1000/01/01', 'YYYY/MM/DD')));
195 
196 
197   CURSOR c_2 IS
198 	select
199 	 avg(nvl(vsize(INSTANCE_CODE), 0))
200 	 from EDW_LOCAL_INSTANCE ;
201 
202 
203 
204   BEGIN
205 
206     dbms_output.enable(1000000);
207 
208     OPEN c_1;
209       FETCH c_1 INTO
210 	 x_event_offer_name,
211 	 x_event_offer_id,
212 	 x_parent_event_offer_id,
213 	 x_event_header_id,
214 	 x_event_level,
215 	 x_event_type_code,
216 	 x_user_status_id,
217 	 x_last_status_date,
218 	 x_system_status_code,
219 	 x_timezone_id,
220 	 x_reg_waitlist_pct,
221 	 x_reg_overbook_pct,
222 	 x_reg_minimum_capacity,
223 	 x_reg_maximum_capacity,
224 	 x_reg_effective_capacity,
225 	 x_pricelist_line_id,
226 	 x_pricelist_header_id,
227 	 x_owner_user_id,
228 	 x_org_id,
229 	 x_inventory_item_id,
230 	 x_event_location_id,
231 	 x_event_duration,
232 	 x_event_delivery_method_id,
233 	 x_coordinator_id,
234 	 x_certification_credits,
235 	 x_waitlist_action_type_code,
236 	 x_stream_type_code,
237 	 x_source_code,
238 	 x_reg_waitlist_allowed_flag,
239 	 x_reg_start_time,
240 	 x_reg_required_flag,
241 	 x_reg_overbook_allowed_flag,
242 	 x_reg_invited_only_flag,
243 	 x_reg_frozen_flag,
244 	 x_reg_end_time,
245 	 x_reg_charge_flag,
246 	 x_priority_type_code,
247 	 x_partner_flag,
248 	 x_overflow_flag,
249 	 x_event_start_date_time,
250 	 x_event_standalone_flag,
251 	 x_event_required_flag,
252 	 x_event_language_code,
253 	 x_event_full_flag,
254 	 x_event_end_date_time,
255 	 x_event_duration_uom_code,
256 	 x_cert_credit_type_code,
257 	 x_cancellation_reason_code,
258 	 x_inbound_script_name,
259 	 x_email,
260 	 x_phone,
261 	 x_url,
262 	 x_auto_register_flag,
263 	 x_event_venue_id,
264 	 x_reg_start_date,
265 	 x_reg_minimum_req_by_date,
266 	 x_reg_end_date,
267 	 x_event_start_date,
268 	 x_event_end_date,
269 	 x_event_mktg_message,
270 	 x_event_offer_name,
271 	 x_description,
272 	 x_creation_date ;
273 
274     CLOSE c_1;
275 
276     x_total := 20  +
277 	ceil(x_event_offer_name+1) +
278 	ceil(x_event_offer_id+1) +
279 	ceil(x_parent_event_offer_id+1) +
280 	ceil(x_event_header_id+1) +
281 	ceil(x_event_level+1) +
282 	ceil(x_event_type_code+1) +
283 	ceil(x_user_status_id+1) +
284 	ceil(x_last_status_date+1) +
285 	ceil(x_system_status_code+1) +
286 	ceil(x_timezone_id+1) +
287 	ceil(x_reg_waitlist_pct+1) +
288 	ceil(x_reg_overbook_pct+1) +
289 	ceil(x_reg_minimum_capacity+1) +
290 	ceil(x_reg_maximum_capacity+1) +
291 	ceil(x_reg_effective_capacity+1) +
292 	ceil(x_pricelist_line_id+1) +
293 	ceil(x_pricelist_header_id+1) +
294 	ceil(x_owner_user_id+1) +
295 	ceil(x_org_id+1) +
296 	ceil(x_inventory_item_id+1) +
297 	ceil(x_event_location_id+1) +
298 	ceil(x_event_duration+1) +
299 	ceil(x_event_delivery_method_id+1) +
300 	ceil(x_coordinator_id+1) +
301 	ceil(x_certification_credits+1) +
302 	ceil(x_waitlist_action_type_code+1) +
303 	ceil(x_stream_type_code+1) +
304 	ceil(x_source_code+1) +
305 	ceil(x_reg_waitlist_allowed_flag+1) +
306 	ceil(x_reg_start_time+1) +
307 	ceil(x_reg_required_flag+1) +
308 	ceil(x_reg_overbook_allowed_flag+1) +
309 	ceil(x_reg_invited_only_flag+1) +
310 	ceil(x_reg_frozen_flag+1) +
311 	ceil(x_reg_end_time+1) +
312 	ceil(x_reg_charge_flag+1) +
313 	ceil(x_priority_type_code+1) +
314 	ceil(x_partner_flag+1) +
315 	ceil(x_overflow_flag+1) +
316 	ceil(x_event_start_date_time+1) +
317 	ceil(x_event_standalone_flag+1) +
318 	ceil(x_event_required_flag+1) +
319 	ceil(x_event_language_code+1) +
320 	ceil(x_event_full_flag+1) +
321 	ceil(x_event_end_date_time+1) +
322 	ceil(x_event_duration_uom_code+1) +
323 	ceil(x_cert_credit_type_code+1) +
324 	ceil(x_cancellation_reason_code+1) +
325 	ceil(x_inbound_script_name+1) +
326 	ceil(x_email+1) +
327 	ceil(x_phone+1) +
328 	ceil(x_url+1) +
329 	ceil(x_auto_register_flag+1) +
330 	ceil(x_event_venue_id+1) +
331 	ceil(x_reg_start_date+1) +
332 	ceil(x_reg_minimum_req_by_date+1) +
333 	ceil(x_reg_end_date+1) +
334 	ceil(x_event_start_date+1) +
335 	ceil(x_event_end_date+1) +
336 	ceil(x_event_mktg_message+1) +
337 	ceil(x_event_offer_name+1) +
338 	ceil(x_description+1) +
339 	ceil(x_creation_date+1);
340 
341 
342     OPEN c_2;
343       FETCH c_2 INTO  x_INSTANCE;
344     CLOSE c_2;
345 
346     x_total := x_total + 3*ceil(x_INSTANCE + 1);
347 
348     x_total := 2*x_total + 15*(x_constant + 1);
349 
350     -- dbms_output.put_line('     ');
351     dbms_output.put_line('The average row length is : ' || to_char(x_total));
352 
353   p_avg_row_len := x_total;
354 
355   END;  -- procedure est_row_len.
356 
357 END;  -- package body BIM_EDW_EVENTS_M_SIZE