DBA Data[Home] [Help]

PACKAGE BODY: APPS.OPI_EDW_OPI_LOT_M_SZ

Source


1 PACKAGE BODY OPI_EDW_OPI_LOT_M_SZ AS
2 /* $Header: OPIOLTZB.pls 120.1 2005/06/07 02:29:29 appldev  $*/
3 
4 PROCEDURE cnt_rows(p_from_date DATE,
5                    p_to_date DATE,
6                    p_num_rows OUT NOCOPY NUMBER) IS
7 CURSOR c_cnt_rows IS
8 	select count(*) cnt
9 	FROM
10 	MTL_LOT_NUMBERS
11 	where  last_update_date between p_from_date and p_to_date ;
12 BEGIN
13 
14   OPEN c_cnt_rows;
15        FETCH c_cnt_rows INTO p_num_rows;
16   CLOSE c_cnt_rows;
17 
18 END;  -- procedure cnt_rows.
19 
20 
21 PROCEDURE est_row_len(p_from_date DATE,
22                    p_to_date DATE,
23                    p_est_row_len OUT NOCOPY NUMBER) IS
24 	x_EDW_LOT_PK  NUMBER ;
25 	x_Organization_id NUMBER ;
26 	x_Inventory_Item_id NUMBER ;
27 	x_Name NUMBER ;
28 	x_LOT_NAME NUMBER ;
29 	x_EXPIRATION_DATE NUMBER ;
30 	x_LOT_DESCRIPTION NUMBER ;
31 	x_LAST_UPDATE_DATE NUMBER ;
32 	x_CREATION_DATE NUMBER ;
33 	x_INSTANCE NUMBER;
34 
35 	x_total NUMBER := 0 ;
36 
37 CURSOR c_1  IS
38 
39 	SELECT
40 	-- EDW_LOT_PK need to add instance_code
41 	avg(nvl(vsize(INVENTORY_ITEM_ID||ORGANIZATION_ID||LOT_NUMBER), 0)),
42 	-- EDW_LOT_DP
43 	-- Organization_id
44 	avg(nvl(vsize(ORGANIZATION_ID), 0)),
45 	-- Inventory_Item_id
46 	avg(nvl(vsize(Inventory_Item_id), 0)),
47 	-- Name
48 	avg(nvl(vsize(lot_number||Inventory_Item_ID||Organization_ID), 0)) ,
49 	-- LOT_NAME
50 	avg(nvl(vsize(lot_number), 0)),
51 	-- ITEM_REVISION
52 	-- NETTABLE_FLAG
53 	-- EXPIRATION_DATE
54 	avg(nvl(vsize(expiration_date), 0)),
55 	-- LOT_DESCRIPTION
56 	avg(nvl(vsize(lot_number), 0)) ,
57 	-- LAST_UPDATE_DATE
58 	avg(nvl(vsize(LAST_UPDATE_DATE), 0)),
59 	-- CREATION_DATE
60 	avg(nvl(vsize(CREATION_DATE), 0))
61 	FROM
62 	MTL_LOT_NUMBERS ;
63 	--WHERE
64 	--last_update_date between p_from_date and p_to_date ;
65 
66   CURSOR c_2 IS
67 	SELECT
68 		avg(nvl(vsize(instance_code), 0))
69 	FROM	EDW_LOCAL_INSTANCE ;
70         -- WHERE last_update_date between
71        --  p_from_date  and  p_to_date;
72 BEGIN
73 
74   /* dbms_output.put_line ('******************'||x_total||'******') ; */
75 
76   OPEN c_1;
77        FETCH c_1 INTO
78 	x_EDW_LOT_PK  ,
79 	x_Organization_id,
80 	x_Inventory_Item_id,
81 	x_Name ,
82 	x_LOT_NAME ,
83 	x_EXPIRATION_DATE ,
84 	x_LOT_DESCRIPTION,
85 	x_LAST_UPDATE_DATE ,
86 	x_CREATION_DATE  ;
87   CLOSE c_1;
88 
89   /* dbms_output.put_line ('******************'||x_total||'******') ; */
90     x_total := 3 +
91 	    x_total +
92 	ceil(x_EDW_LOT_PK + 1) +
93 	ceil(x_Organization_id+ 1) +
94 	ceil(x_Inventory_Item_id+ 1) +
95 	ceil(x_Name + 1) +
96 	ceil(x_LOT_NAME + 1) +
97 	ceil(x_EXPIRATION_DATE+ 1) +
98 	ceil(x_LOT_DESCRIPTION+ 1) +
99 	ceil(x_LAST_UPDATE_DATE + 1) +
100 	ceil(x_CREATION_DATE+ 1)   ;
101 
102   /* dbms_output.put_line ('******************'||x_total||'******') ; */
103   OPEN c_2;
104        FETCH c_2 INTO
105 	x_INSTANCE ;
106   CLOSE c_2;
107 
108   /* dbms_output.put_line ('******************'||x_total||'******') ; */
109   x_total := x_total +
110 	ceil(x_INSTANCE + 1) ;
111 
112 	p_est_row_len := x_total ;
113 
114 
115   /* dbms_output.put_line ('******************'||x_total||'******') ; */
116 
117 
118 END ;
119 
120 END OPI_EDW_OPI_LOT_M_SZ ;  -- procedure est_row_len.