DBA Data[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