DBA Data[Home] [Help]

PACKAGE BODY: APPS.ISC_EDW_BOOKINGS_F_SIZE

Source


1 PACKAGE BODY ISC_EDW_BOOKINGS_F_SIZE AS
2 /* $Header: ISCSGF0B.pls 120.2 2006/03/31 09:54:51 abhdixi noship $ */
3 
4    /* ------------------------------------------
5       PROCEDURE NAME   : cnt_rows
6       INPUT PARAMETERS : p_from_date, p_to_date
7       OUTPUT PARAMETERS: p_num_rows
8       DESCRIPTION      : Count the number of rows
9       ------------------------------------------- */
10 
11    PROCEDURE cnt_rows(p_from_date DATE,
12                       p_to_date DATE,
13                       p_num_rows OUT NOCOPY NUMBER) IS
14    l_num_rows1 		NUMBER;
15    l_num_rows2 		NUMBER;
16    l_num_rows3 		NUMBER;
17    l_num_rows4		NUMBER;
18 
19    BEGIN
20 
21       SELECT count(*)
22         INTO l_num_rows1
23         FROM OE_ORDER_LINES_ALL		l,
24              OE_ORDER_HEADERS_ALL	h
25        WHERE l.header_id = h.header_id
26          AND h.booked_date IS NOT NULL
27 	 AND (h.last_update_date between p_from_date and p_to_date
28      	      OR l.last_update_date between p_from_date and p_to_date);
29 
30       SELECT count(*)
31 	INTO l_num_rows2
32         FROM RA_CUSTOMER_TRX_LINES_ALL	ra,
33              OE_ORDER_HEADERS_ALL	h,
34              OE_ORDER_LINES_ALL		l
35        WHERE l.line_id = ra.interface_line_attribute6
36 	 AND l.header_id = h.header_id
37          AND h.booked_date IS NOT NULL
38          AND ra.interface_line_context = 'ORDER ENTRY'
39          AND (ra.last_update_date between p_from_date and p_to_date
40               OR l.last_update_date between p_from_date and p_to_date
41 	      OR h.last_update_date between p_from_date and p_to_date);
42 
43       SELECT count(*)
44  	INTO l_num_rows3
45         FROM MTL_RESERVATIONS		mtl,
46              OE_ORDER_HEADERS_ALL	h,
47              OE_ORDER_LINES_ALL	l
48        WHERE l.line_id = mtl.demand_source_line_id
49 	 AND l.header_id = h.header_id
50          AND h.booked_date IS NOT NULL
51        	 AND mtl.reservation_quantity is not null
52        	 AND mtl.reservation_quantity <> 0
53 	 AND (mtl.last_update_date between p_from_date and p_to_date
54      	      OR l.last_update_date between p_from_date and p_to_date
55 	      OR h.last_update_date between p_from_date and p_to_date);
56 
57       SELECT count(*)
58  	INTO l_num_rows4
59         FROM oe_order_lines_history 	hist,
60              OE_ORDER_HEADERS_ALL	h,
61              OE_ORDER_LINES_ALL		l
62        WHERE hist.line_id = l.line_id
63 	 AND l.header_id = h.header_id
64          AND h.booked_date IS NOT NULL
65          AND hist.hist_type_code = 'CANCELLATION'
66 	 AND (hist.last_update_date between p_from_date and p_to_date
67      	      OR l.last_update_date between p_from_date and p_to_date
68 	      OR h.last_update_date between p_from_date and p_to_date);
69 
70    p_num_rows := l_num_rows1 + l_num_rows2 + l_num_rows3 + l_num_rows4;
71 
72    Exception When others then
73       rollback;
74 
75    END;
76 
77 
78    /* ------------------------------------------
79       PROCEDURE NAME   : est_row_len
80       INPUT PARAMETERS : p_from_date, p_to_date
81       OUTPUT PARAMETERS: p_avg_row_len
82       DESCRIPTION      : Estimate input_f
83       ------------------------------------------ */
84 
85    PROCEDURE est_row_len(p_from_date DATE,
86                          p_to_date DATE,
87                          p_avg_row_len OUT NOCOPY NUMBER) IS
88 
89     x_date		number := 7;
90     x_total		number := 0;
91     x_AGREEMENT_ID			NUMBER;
92     x_AGREEMENT_TYPE_FK			NUMBER;
93     x_BILL_TO_CUST_FK			NUMBER;
94     x_BILL_TO_LOC_FK			NUMBER;
95     x_BOOKED_DATE			NUMBER;
96     x_BOOKINGS_PK			NUMBER;
97     -- Bug 5066532 : Removing BIM object dependency
98     -- x_CAMPAIGN_ACTL_FK		NUMBER;
99     -- x_CAMPAIGN_INIT_FK		NUMBER;
100     x_CAMPAIGN_STATUS_ACTL_FK		NUMBER;
101     x_CAMPAIGN_STATUS_INIT_FK		NUMBER;
102     x_CANCEL_REASON_FK			NUMBER;
103     x_CONVERSION_DATE			NUMBER;
104     x_CONVERSION_RATE			NUMBER;
105     x_CONVERSION_TYPE			NUMBER;
106     x_CURRENCY_TRN_FK			NUMBER;
107     x_CUSTOMER_FK			NUMBER;
108     x_CUST_PO_NUMBER			NUMBER;
109     x_DATE_BOOKED_FK			NUMBER;
110     x_DATE_FULFILLED			NUMBER;
111     x_DATE_LATEST_PICK			NUMBER;
112     x_DATE_LATEST_SHIP			NUMBER;
113     x_DATE_PROMISED_FK			NUMBER;
114     x_DATE_REQUESTED_FK			NUMBER;
115     x_DATE_SCHEDULED_FK			NUMBER;
116     x_DEMAND_CLASS_FK			NUMBER;
117     -- Bug 5066532 : Removing BIM object dependency
118     -- x_EVENT_OFFER_ACTL_FK		NUMBER;
119     -- x_EVENT_OFFER_INIT_FK		NUMBER;
120     -- x_EVENT_OFFER_REG_FK		NUMBER;
121     x_FULFILLMENT_FLAG			NUMBER;
122     x_HEADER_ID				NUMBER;
123     x_INV_ORG_FK			NUMBER;
124     x_ITEM_ORG_FK			NUMBER;
125     x_ITEM_TYPE_CODE			NUMBER;
126     x_LAST_UPDATE_DATE			NUMBER;
127     x_LINE_ID				NUMBER;
128     x_MARKET_SEGMENT_FK			NUMBER;
129     -- Bug 5066532 : Removing BIM object dependency
130     -- x_MEDCHN_ACTL_FK			NUMBER;
131     -- x_MEDCHN_INIT_FK			NUMBER;
132     x_OFFER_HDR_FK			NUMBER;
133     x_OFFER_LINE_FK			NUMBER;
134     x_OPERATING_UNIT_FK			NUMBER;
135     x_ORDER_CATEGORY_FK			NUMBER;
136     x_ORDER_NUMBER			NUMBER;
137     x_ORDER_SOURCE_FK			NUMBER;
138     x_ORDER_TYPE_FK			NUMBER;
139     x_ORDERED_DATE			NUMBER;
140     x_PRICE_LIST_ID			NUMBER;
141     x_PROMISED_DATE			NUMBER;
142     x_QTY_CANCELLED			NUMBER;
143     x_QTY_FULFILLED			NUMBER;
144     x_QTY_INVOICED			NUMBER;
145     x_QTY_ORDERED			NUMBER;
146     x_QTY_RESERVED			NUMBER;
147     x_QTY_RETURNED			NUMBER;
148     x_QTY_SHIPPED			NUMBER;
149     x_REQUESTED_DATE			NUMBER;
150     x_RETURN_REASON_FK			NUMBER;
151     x_SALES_CHANNEL_FK			NUMBER;
152     x_SALES_PERSON_FK			NUMBER;
153     x_SCHEDULED_DATE			NUMBER;
154     x_SET_OF_BOOKS_FK			NUMBER;
155     x_SHIPPABLE_FLAG			NUMBER;
156     x_SHIP_TO_CUST_FK			NUMBER;
157     x_SHIP_TO_LOC_FK			NUMBER;
158     x_SOURCE_LIST_FK			NUMBER;
159     x_TARGET_SEGMENT_ACTL_FK		NUMBER;
160     x_TARGET_SEGMENT_INIT_FK		NUMBER;
161     x_TASK_FK				NUMBER;
162     x_TOP_MODEL_FK			NUMBER;
163     x_TOTAL_NET_ORDER_VALUE		NUMBER;
164     x_UNIT_COST_G			NUMBER;
165     x_UNIT_COST_T			NUMBER;
166     x_UNIT_LIST_PRC_G			NUMBER;
167     x_UNIT_LIST_PRC_T			NUMBER;
168     x_UNIT_SELL_PRC_G			NUMBER;
169     x_UNIT_SELL_PRC_T			NUMBER;
170     x_UOM_UOM_FK			NUMBER;
171 
172       CURSOR c_1 IS
173          SELECT nvl(avg(nvl(vsize(agreement_id),0)),0),
174 		nvl(avg(nvl(vsize(line_id),0)),0),
175 		nvl(avg(nvl(vsize(sold_to_org_id),0)),0),
176   		nvl(avg(nvl(vsize(cust_po_number),0)),0),
177   		nvl(avg(nvl(vsize(demand_class_code),0)),0),
178   		nvl(avg(nvl(vsize(fulfilled_flag),0)),0),
179   		nvl(avg(nvl(vsize(ship_from_org_id),0)),0),
180   		nvl(avg(nvl(vsize(inventory_item_id),0)),0) + nvl(avg(nvl(vsize(ship_from_org_id),0)),0),
181   		nvl(avg(nvl(vsize(org_id),0)),0),
182   		nvl(avg(nvl(vsize(line_category_code),0)),0),
183   		nvl(avg(nvl(vsize(price_list_id),0)),0),
184   		nvl(avg(nvl(vsize(cancelled_quantity),0)),0),
185   		nvl(avg(nvl(vsize(fulfilled_quantity),0)),0),
186   		nvl(avg(nvl(vsize(ordered_quantity),0)),0),
187   		nvl(avg(nvl(vsize(shipped_quantity),0)),0),
188 		nvl(avg(nvl(vsize(return_reason_code),0)),0),
189 		nvl(avg(nvl(vsize(salesrep_id),0)),0) + nvl(avg(nvl(vsize(org_id),0)),0),
190 		nvl(avg(nvl(vsize(shippable_flag),0)),0),
191 		nvl(avg(nvl(vsize(ship_to_org_id),0)),0),
192 		nvl(avg(nvl(vsize(task_id),0)),0),
193 		nvl(avg(nvl(vsize(unit_list_price),0)),0),
194 		nvl(avg(nvl(vsize(unit_selling_price),0)),0),
195 		nvl(avg(nvl(vsize(fulfillment_date),0)),0),
196 		nvl(avg(nvl(vsize(actual_shipment_date),0)),0),
197 		nvl(avg(nvl(vsize(last_update_date),0)),0),
198 		nvl(avg(nvl(vsize(promise_date),0)),0),
199 		nvl(avg(nvl(vsize(request_date),0)),0),
200 		nvl(avg(nvl(vsize(schedule_ship_date),0)),0),
201 		nvl(avg(nvl(vsize(item_type_code),0)),0)
202 	 FROM OE_ORDER_LINES_ALL
203          WHERE last_update_date BETWEEN p_from_date AND p_to_date;
204 
205       CURSOR c_2 IS
206 	 SELECT nvl(avg(nvl(vsize(agreement_type_code),0)),0)
207 	 FROM OE_AGREEMENTS_B;
208 
209       CURSOR c_3 IS
210 	 SELECT nvl(avg(nvl(vsize(invoice_to_org_id),0)),0),
211 		nvl(avg(nvl(vsize(conversion_type_code),0)),0),
212 		nvl(avg(nvl(vsize(transactional_curr_code),0)),0),
213 		nvl(avg(nvl(vsize(header_id),0)),0),
214 		nvl(avg(nvl(vsize(order_number),0)),0),
215 		nvl(avg(nvl(vsize(sales_channel_code),0)),0),
216                 nvl(avg(nvl(vsize(sold_to_org_id),0)),0),
217                 nvl(avg(nvl(vsize(booked_date),0)),0),
218                 nvl(avg(nvl(vsize(ordered_date),0)),0)
219 	 FROM OE_ORDER_HEADERS_ALL;
220 
221     -- Bug 5066532 : Removing BIM object dependency
222     -- CURSOR c_4 IS
223     --   SELECT nvl(avg(nvl(vsize(campaign_fk),0)),0),
224     --		nvl(avg(nvl(vsize(event_fk),0)),0),
225     --		nvl(avg(nvl(vsize(media_channel_fk),0)),0)
226     --	 FROM EDW_BIM_SOURCE_CODE_DETAILS;
227 
228       CURSOR c_5 IS
229 	 SELECT nvl(avg(nvl(vsize(conversion_rate),0)),0)
230 	 FROM GL_DAILY_RATES;
231 
232       CURSOR c_6 IS
233 	 SELECT nvl(avg(nvl(vsize(period_set_name),0)),0) + nvl(avg(nvl(vsize(accounted_period_type),0)),0)
234 	 FROM GL_SETS_OF_BOOKS;
235 
236       CURSOR c_7 IS
237 	 SELECT nvl(avg(nvl(vsize(cell_code),0)),0)
238 	 FROM ams_cells_all_b;
239 
240       CURSOR c_8 IS
241 	 SELECT nvl(avg(nvl(vsize(activity_offer_id),0)),0)
242 	 FROM ams_act_offers;
243 
244       CURSOR c_9 IS
245 	 SELECT nvl(avg(nvl(vsize(name),0)),0)
246 	 FROM OE_ORDER_SOURCES;
247 
248       CURSOR c_10 IS
249 	 SELECT nvl(avg(nvl(vsize(name),0)),0)
250 	 FROM OE_TRANSACTION_TYPES_TL;
251 
252       CURSOR c_11 IS
253 	 SELECT nvl(avg(nvl(vsize(quantity_invoiced),0)),0)
254 	 FROM RA_CUSTOMER_TRX_LINES_ALL;
255 
256       CURSOR c_12 IS
257 	 SELECT nvl(avg(nvl(vsize(reservation_quantity),0)),0)
258 	 FROM MTL_RESERVATIONS;
259 
260       CURSOR c_13 IS
261 	 SELECT nvl(avg(nvl(vsize(set_of_books_id),0)),0)
262 	 FROM FINANCIALS_SYSTEM_PARAMS_ALL;
263 
264       CURSOR c_14 IS
265 	 SELECT nvl(avg(nvl(vsize(cell_code),0)),0)
266 	 FROM ams_list_entries;
267 
268       CURSOR c_15 IS
269 	 SELECT nvl(avg(nvl(vsize(item_cost),0)),0)
270 	 FROM cst_item_costs;
271 
272       CURSOR c_16 IS
273 	 SELECT nvl(avg(nvl(vsize(UOM_EDW_BASE_UOM),0)),0)
274 	 FROM EDW_MTL_LOCAL_UOM_M;
275 
276       CURSOR c_17 IS
277 	 SELECT nvl(avg(nvl(vsize(user_status_id),0)),0)
278 	 FROM ams_campaigns_all_b;
279 
280    BEGIN
281 
282       OPEN c_1;
283         FETCH c_1 INTO x_AGREEMENT_ID, x_BOOKINGS_PK, x_CUSTOMER_FK,
284 		  x_CUST_PO_NUMBER, x_DEMAND_CLASS_FK, x_FULFILLMENT_FLAG,
285 		  x_INV_ORG_FK, x_ITEM_ORG_FK, x_OPERATING_UNIT_FK,
286 		  x_ORDER_CATEGORY_FK, x_PRICE_LIST_ID, x_QTY_CANCELLED,
287 		  x_QTY_FULFILLED, x_QTY_ORDERED, x_QTY_SHIPPED,
288 		  x_RETURN_REASON_FK, x_SALES_PERSON_FK, x_SHIPPABLE_FLAG,
289 		  x_SHIP_TO_CUST_FK, x_TASK_FK, x_UNIT_LIST_PRC_T,
290 		  x_UNIT_SELL_PRC_T, x_DATE_FULFILLED, x_DATE_LATEST_SHIP,
291 		  x_LAST_UPDATE_DATE, x_PROMISED_DATE, x_REQUESTED_DATE,
292 		  x_SCHEDULED_DATE, x_ITEM_TYPE_CODE;
293       CLOSE c_1;
294 
295       x_LINE_ID := x_BOOKINGS_PK;
296       x_SHIP_TO_LOC_FK := x_SHIP_TO_CUST_FK;
297       x_QTY_RETURNED := x_QTY_ORDERED;
298       x_TOP_MODEL_FK := x_ITEM_ORG_FK;
299       x_UNIT_LIST_PRC_G := x_UNIT_LIST_PRC_T * 2;
300       x_UNIT_SELL_PRC_G := x_UNIT_SELL_PRC_T * 2;
301 
302       x_total := 3 + x_total + ceil(x_AGREEMENT_ID + 1) + ceil(x_BOOKINGS_PK + 1) +
303 	   	 ceil(x_CUSTOMER_FK + 1) + ceil(x_CUST_PO_NUMBER + 1) +
304 		 ceil(x_DEMAND_CLASS_FK + 1) + ceil(x_FULFILLMENT_FLAG + 1) +
305 		 ceil(x_INV_ORG_FK + 1) + ceil(x_ITEM_ORG_FK + 1) +
306 		 ceil(x_OPERATING_UNIT_FK + 1) + ceil(x_ORDER_CATEGORY_FK + 1) +
307 		 ceil(x_PRICE_LIST_ID + 1) + ceil(x_QTY_CANCELLED + 1) +
308 		 ceil(x_QTY_FULFILLED + 1) + ceil(x_QTY_ORDERED + 1) +
309 		 ceil(x_QTY_SHIPPED + 1) + ceil(x_RETURN_REASON_FK + 1) +
310 		 ceil(x_SALES_PERSON_FK + 1) + ceil(x_SHIPPABLE_FLAG + 1) +
311 		 ceil(x_SHIP_TO_CUST_FK + 1) + ceil(x_TASK_FK + 1) +
312 		 ceil(x_UNIT_LIST_PRC_T + 1) + ceil(x_UNIT_SELL_PRC_T + 1) +
313 		 ceil(x_LINE_ID + 1) + ceil(x_SHIP_TO_LOC_FK + 1) +
314 		 ceil(x_DATE_FULFILLED + 1) + ceil(x_DATE_LATEST_SHIP + 1) +
315 		 ceil(x_LAST_UPDATE_DATE + 1) + ceil(x_QTY_RETURNED + 1) +
316 		 ceil(x_TOP_MODEL_FK + 1) + ceil(x_UNIT_LIST_PRC_G + 1) +
317 		 ceil(x_UNIT_SELL_PRC_G + 1) + ceil(x_PROMISED_DATE + 1) +
318 		 ceil(x_REQUESTED_DATE + 1) + ceil(x_SCHEDULED_DATE + 1) +
319 		 ceil(x_ITEM_TYPE_CODE + 1);
320 
321       OPEN c_2;
322         FETCH c_2 INTO x_AGREEMENT_TYPE_FK;
323       CLOSE c_2;
324 
325          x_total := x_total + ceil(x_AGREEMENT_TYPE_FK + 1);
326 
327       OPEN c_3;
328         FETCH c_3 INTO x_BILL_TO_CUST_FK, x_CONVERSION_TYPE, x_CURRENCY_TRN_FK,
329 		       x_HEADER_ID, x_ORDER_NUMBER, x_SALES_CHANNEL_FK,
330 		       x_SOURCE_LIST_FK, x_BOOKED_DATE, x_ORDERED_DATE;
331       CLOSE c_3;
332 
333       x_BILL_TO_LOC_FK := x_BILL_TO_CUST_FK;
334       x_CONVERSION_DATE := x_date;
335 
336       x_total := x_total + ceil(x_BILL_TO_CUST_FK + 1) + ceil(x_CONVERSION_TYPE + 1) +
337 		 ceil(x_CURRENCY_TRN_FK + 1) + ceil(x_HEADER_ID + 1) +
338 		 ceil(x_ORDER_NUMBER + 1) + ceil(x_SALES_CHANNEL_FK + 1) +
339 		 ceil(x_BILL_TO_LOC_FK + 1) + ceil(x_CONVERSION_DATE + 1) +
340 		 ceil(x_SOURCE_LIST_FK + 1) + ceil(x_BOOKED_DATE + 1) +
341 		 ceil(x_ORDERED_DATE + 1);
342 
343     -- Bug 5066532 : Removing BIM object dependency
344     --  OPEN c_4;
345     --    FETCH c_4 INTO x_CAMPAIGN_ACTL_FK, x_EVENT_OFFER_ACTL_FK, x_MEDCHN_ACTL_FK;
346     --  CLOSE c_4;
347 
348     --  x_CAMPAIGN_INIT_FK := x_CAMPAIGN_ACTL_FK;
349     --  x_EVENT_OFFER_INIT_FK := x_EVENT_OFFER_ACTL_FK;
350     --  x_EVENT_OFFER_REG_FK := x_EVENT_OFFER_ACTL_FK;
351     --  x_MEDCHN_INIT_FK := x_MEDCHN_ACTL_FK;
352 
353     --  x_total := x_total + ceil(x_CAMPAIGN_ACTL_FK + 1) + ceil(x_EVENT_OFFER_ACTL_FK + 1) +
354     --		 ceil(x_MEDCHN_ACTL_FK + 1) + ceil(x_CAMPAIGN_INIT_FK + 1) +
355     --		 ceil(x_EVENT_OFFER_INIT_FK + 1) + ceil(x_EVENT_OFFER_REG_FK + 1) +
356     --		 ceil(x_MEDCHN_INIT_FK + 1);
357 
358       OPEN c_5;
359         FETCH c_5 INTO x_CONVERSION_RATE;
360       CLOSE c_5;
361 
362       x_TOTAL_NET_ORDER_VALUE := x_UNIT_SELL_PRC_T + x_QTY_ORDERED + x_CONVERSION_RATE;
363       x_total := x_total + ceil(x_CONVERSION_RATE + 1) + ceil(x_TOTAL_NET_ORDER_VALUE + 1);
364 
365       OPEN c_6;
366         FETCH c_6 INTO x_DATE_BOOKED_FK;
367       CLOSE c_6;
368 
369       x_DATE_LATEST_PICK := x_date;
370       x_DATE_PROMISED_FK := x_DATE_BOOKED_FK;
371       x_DATE_REQUESTED_FK := x_DATE_BOOKED_FK;
372       x_DATE_SCHEDULED_FK := x_DATE_BOOKED_FK;
373 
374       x_total := x_total + ceil(x_DATE_BOOKED_FK + 1) + ceil(x_DATE_LATEST_PICK + 1) +
375 		 ceil(x_DATE_PROMISED_FK + 1) + ceil(x_DATE_REQUESTED_FK + 1) +
376 		 ceil(x_DATE_SCHEDULED_FK + 1);
377 
378       OPEN c_7;
379         FETCH c_7 INTO x_MARKET_SEGMENT_FK;
380       CLOSE c_7;
381 
382       x_total := x_total + ceil(x_MARKET_SEGMENT_FK + 1);
383 
384       OPEN c_8;
385         FETCH c_8 INTO x_OFFER_HDR_FK;
386       CLOSE c_8;
387 
388       x_OFFER_LINE_FK := x_OFFER_HDR_FK;
389 
390       x_total := x_total + ceil(x_OFFER_HDR_FK + 1) + ceil(x_OFFER_LINE_FK + 1);
391 
392       OPEN c_9;
393         FETCH c_9 INTO x_ORDER_SOURCE_FK;
394       CLOSE c_9;
395 
396       x_total := x_total + ceil(x_ORDER_SOURCE_FK + 1);
397 
398       OPEN c_10;
399         FETCH c_10 INTO x_ORDER_TYPE_FK;
400       CLOSE c_10;
401 
402       x_total := x_total + ceil(x_ORDER_TYPE_FK + 1);
403 
404       OPEN c_11;
405         FETCH c_11 INTO x_QTY_INVOICED;
406       CLOSE c_11;
407 
408       x_total := x_total + ceil(x_QTY_INVOICED + 1);
409 
410       OPEN c_12;
411         FETCH c_12 INTO x_QTY_RESERVED;
412       CLOSE c_12;
413 
414       x_total := x_total + ceil(x_QTY_RESERVED + 1);
415 
416       OPEN c_13;
417         FETCH c_13 INTO x_SET_OF_BOOKS_FK;
418       CLOSE c_13;
419 
420       x_total := x_total + ceil(x_SET_OF_BOOKS_FK + 1);
421 
422       OPEN c_14;
423         FETCH c_14 INTO x_TARGET_SEGMENT_ACTL_FK;
424       CLOSE c_14;
425 
426       x_TARGET_SEGMENT_INIT_FK := x_TARGET_SEGMENT_ACTL_FK;
427 
428       x_total := x_total + ceil(x_TARGET_SEGMENT_ACTL_FK + 1) + ceil(x_TARGET_SEGMENT_INIT_FK + 1);
429 
430       OPEN c_15;
431         FETCH c_15 INTO x_UNIT_COST_G;
432       CLOSE c_15;
433 
434       x_UNIT_COST_T := x_UNIT_COST_G;
435 
436       x_total := x_total + ceil(x_UNIT_COST_G + 1) + ceil(x_UNIT_COST_T + 1);
437 
438       OPEN c_16;
439         FETCH c_16 INTO x_UOM_UOM_FK;
440       CLOSE c_16;
441 
442       x_total := x_total + ceil(x_UOM_UOM_FK + 1);
443 
444       OPEN c_17;
445         FETCH c_17 INTO x_CAMPAIGN_STATUS_ACTL_FK;
446       CLOSE c_17;
447 
448       x_CAMPAIGN_STATUS_INIT_FK := x_CAMPAIGN_STATUS_ACTL_FK;
449 
450       x_total := x_total + ceil(x_CAMPAIGN_STATUS_ACTL_FK + 1) + ceil(x_CAMPAIGN_STATUS_INIT_FK + 1);
451 
452       p_avg_row_len := x_total;
453 
454    Exception When others then
455       rollback;
456 
457    END;
458 
459 END ISC_EDW_BOOKINGS_F_SIZE;