[Home] [Help]
PACKAGE BODY: APPS.OPI_EDW_OPI_PRDL_M_SZ
Source
1 PACKAGE BODY opi_edw_opi_prdl_m_sz as
2 /* $Header: OPIOPLZB.pls 120.1 2005/06/07 02:36:09 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 WIP_LINES WL,
10 MTL_PARAMETERS MP
11 where WL.ORGANIZATION_ID = MP.ORGANIZATION_ID
12 and wl.last_update_date between p_from_date and p_to_date;
13
14 BEGIN
15
16 OPEN c_cnt_rows;
17 FETCH c_cnt_rows INTO p_num_rows;
18 CLOSE c_cnt_rows;
19
20 END; -- procedure cnt_rows.
21
22
23 PROCEDURE est_row_len(p_from_date DATE,
24 p_to_date DATE,
25 p_est_row_len OUT NOCOPY NUMBER) IS
26
27 x_date number := 7;
28 x_total number := 0;
29 x_constant number := 6;
30
31 cursor c_wl is
32 select avg(nvl(vsize(wl.line_id),0)) line_id,
33 avg(nvl(vsize(wl.line_code),0)) code,
34 avg(nvl(vsize(wl.description),0)) des
35 from wip_lines wl
36 where wl.last_update_date between p_from_date and p_to_date;
37
38 CURSOR c_org IS
39 SELECT avg(nvl(Vsize(organization_id), 0)) org_id,
40 avg(nvl(Vsize(organization_code), 0)) org_code
41 FROM mtl_parameters;
42
43 CURSOR c_instance IS
44 SELECT
45 avg(nvl(vsize(instance_code), 0))
46 FROM EDW_LOCAL_INSTANCE ;
47
48 x_instance_fk NUMBER;
49 l_org c_org%ROWTYPE;
50 l_wl c_wl%rowtype;
51
52 BEGIN
53
54 OPEN c_instance;
55 FETCH c_instance INTO x_instance_fk;
56 CLOSE c_instance;
57
58 OPEN c_org;
59 FETCH c_org INTO l_org;
60 CLOSE c_org;
61
62 open c_wl;
63 fetch c_wl into l_wl;
64 close c_wl;
65
66 x_total := x_total
67 -- PRDL_PK
68 + Ceil( l_wl.line_id +x_instance_fk +l_org.org_id +l_org.org_code +6 +1)
69 -- PRDL_DP NAME PRDL_NAME
70 + 3* ceil( l_wl.code + 1)
71 -- ALL_FK
72 + 3
73 -- DESCRIPTION
74 + ceil( l_wl.des + 1)
75 -- ORGN_CODE
76 + Ceil( l_org.org_code + 1)
77 -- LAST_UPDATE_DATE CREATION_DATE
78 + 2 * x_date;
79
80 p_est_row_len := x_total ;
81
82 END ;
83
84 END opi_edw_opi_prdl_m_sz;