[Home] [Help]
PACKAGE BODY: APPS.MSC_REFRESH_MV
Source
1 PACKAGE BODY MSC_REFRESH_MV AS
2 /* $Header: MSCRFMVB.pls 120.2 2011/09/22 10:13:38 vjuluri ship $ */
3
4 PROCEDURE REFRESH_MAT_VIEWS(
5 ERRBUF OUT NOCOPY VARCHAR2, /* file.sql.39 change 4405879 */
6 RETCODE OUT NOCOPY NUMBER, /* file.sql.39 change 4405879 */
7 p_mv_name IN VARCHAR2,
8 p_schema_id IN NUMBER DEFAULT 724)
9 IS
10
11 l_schema_name VARCHAR2(30);
12 l_apps_schema VARCHAR2(30); --Bug#12964070
13 l_mv_exist number;
14 l_complete_refresh_flag varchar2(1) := 'C' ;
15 l_mv_name varchar2(240) ;
16
17 Cursor application_schema IS
18 SELECT a.oracle_username
19 FROM FND_ORACLE_USERID a, FND_PRODUCT_INSTALLATIONS b
20 WHERE a.oracle_id = b.oracle_id
21 AND b.application_id= p_schema_id;
22
23 Cursor mv_exist(p_mv_trim_name varchar2, p_schema_name varchar2) IS
24 SELECT 1
25 FROM all_objects
26 WHERE object_name = p_mv_trim_name
27 AND owner = p_schema_name;
28
29 BEGIN
30 msc_util.msc_log('Begin REFRESH_MAT_VIEWS');
31 RETCODE:= G_SUCCESS;
32
33 select oracle_username
34 into l_apps_schema
35 from fnd_oracle_userid
36 where read_only_flag = 'U';
37
38 select nvl(ltrim(rtrim(upper(p_mv_name))), '@@@') into l_mv_name from dual;
39 msc_util.msc_log('Snapshot is :'||l_mv_name);
40
41 --Bug#12964070
42 IF l_mv_name = 'MSC_ATP_PLAN_SN' THEN
43 l_schema_name := l_apps_schema;
44
45 ELSE
46 OPEN application_schema;
47 FETCH application_schema INTO l_schema_name;
48 CLOSE application_schema;
49 END IF;
50
51 OPEN mv_exist(l_mv_name, l_schema_name);
52 FETCH mv_exist INTO l_mv_exist;
53 CLOSE mv_exist;
54
55 if (l_mv_exist = 1) then
56 -- msc_util.msc_log('Refreshing ' || l_mv_name);
57 fnd_message.set_name('MSC','MSC_REF_MV_EXIST_PRE');
58 fnd_message.set_token('VIEW_NAME',l_mv_name);
59 msc_util.msc_log(fnd_message.get);
60 DBMS_SNAPSHOT.REFRESH( l_schema_name||'.'||l_mv_name , l_complete_refresh_flag);
61 else
62 -- msc_util.msc_log(l_schema_name||'.'||l_mv_name ||' does not exist');
63 fnd_message.set_name('MSC','MSC_REF_MV_EXIST_ERR');
64 fnd_message.set_token('VIEW_NAME',l_mv_name);
65 fnd_message.set_token('SCHEMA_NAME',l_schema_name);
66 msc_util.msc_log(fnd_message.get);
67 RETCODE:= G_ERROR;
68 end if;
69
70 msc_util.msc_log('End REFRESH_MAT_VIEWS');
71
72 EXCEPTION
73
74 WHEN OTHERS THEN
75 msc_util.msc_log(sqlerrm);
76 RETCODE:= G_ERROR;
77 ERRBUF:= SQLERRM;
78
79 END REFRESH_MAT_VIEWS;
80
81
82 END MSC_REFRESH_MV;