[Home] [Help]
PACKAGE BODY: APPS.EDW_SOURCE_OPTION
Source
1 PACKAGE BODY edw_source_option AS
2 /* $Header: EDWSRCFB.pls 115.8 2003/11/18 07:11:53 smulye noship $ */
3 FUNCTION get_source_option (
4 p_object_name VARCHAR2,
5 p_object_id NUMBER,
6 p_option_code VARCHAR2,
7 p_option_value OUT NOCOPY VARCHAR2
8 )
9 RETURN BOOLEAN
10 IS
11 l_object_id NUMBER (9);
12 l_instance_code VARCHAR2 (30);
13 l_dblink all_db_links.db_link%TYPE;
14 l_dblink2 all_db_links.db_link%TYPE;
15 l_stmt VARCHAR2 (5000);
16 l_owner all_users.username%TYPE;
17 check_tspace_exist varchar(1);
18 check_ts_mode varchar(1);
19 physical_tspace_name varchar2(100);
20
21 TYPE curtyp IS REF CURSOR;
22
23 cv curtyp;
24 BEGIN
25 p_option_value := NULL;
26
27 IF (p_option_code = 'DEBUG_SR')
28 THEN
29 p_option_value := fnd_profile.VALUE ('EDW_DEBUG');
30 ELSIF (p_option_code = 'TRACE_SR')
31 THEN
32 p_option_value := fnd_profile.VALUE ('EDW_TRACE');
33 ELSIF (p_option_code = 'PARALLELISM_SR')
34 THEN
35 p_option_value := fnd_profile.VALUE ('EDW_PARALLEL_SRC');
36 ELSIF (p_option_code = 'COMMITSIZE_SR')
37 THEN
38 p_option_value := fnd_profile.VALUE ('EDW_PUSH_SIZE');
39 ELSIF (p_option_code = 'OPTABLESPACE_SR')
40 THEN
41 p_option_value := fnd_profile.VALUE ('EDW_COL_OP_TABLE_SPACE');
42 ELSIF (p_option_code = 'ROLLBACK_SR')
43 THEN
44 p_option_value := fnd_profile.VALUE ('EDW_ROLLBACK_SRC');
45 END IF;
46
47 IF (p_option_code = 'OPTABLESPACE_SR' AND p_option_value IS NULL)
48 THEN
49 l_owner := edw_source_option.get_db_user ('BIS');
50
51 AD_TSPACE_UTIL.is_new_ts_mode (check_ts_mode);
52 If check_ts_mode ='Y' then
53 AD_TSPACE_UTIL.get_tablespace_name ('BIS', 'INTERFACE','Y',check_tspace_exist, physical_tspace_name);
54 if check_tspace_exist='Y' and physical_tspace_name is not null then
55 p_option_value := physical_tspace_name;
56 end if;
57 end if;
58
59 if p_option_value is null then
60 SELECT default_tablespace
61 INTO p_option_value
62 FROM dba_users
63 WHERE username = l_owner;
64 end if;
65
66 END IF;
67
68 RETURN TRUE;
69 EXCEPTION
70 WHEN OTHERS
71 THEN
72 g_status_message := SQLERRM;
73 p_option_value := NULL;
74 edw_log.put_line ('Error in get_source_option ' || SQLERRM);
75 RETURN FALSE;
76 END get_source_option;
77
78 FUNCTION get_db_user (p_product VARCHAR2)
79 RETURN VARCHAR2
80 IS
81 l_dummy1 VARCHAR2 (2000);
82 l_dummy2 VARCHAR2 (2000);
83 l_schema VARCHAR2 (400);
84 BEGIN
85 IF fnd_installation.get_app_info (p_product,
86 l_dummy1,
87 l_dummy2,
88 l_schema
89 ) = FALSE
90 THEN
91 edw_log.put_line ('FND_INSTALLATION.GET_APP_INFO returned with error'
92 );
93 RETURN NULL;
94 END IF;
95
96 RETURN l_schema;
97 EXCEPTION
98 WHEN OTHERS
99 THEN
100 edw_log.put_line ('Error in get_db_user ' || SQLERRM);
101 RETURN NULL;
102 END;
103 END;
104